diff --git a/alacritty.png b/alacritty.png new file mode 100644 index 0000000..ded9f90 Binary files /dev/null and b/alacritty.png differ diff --git a/element.png b/element.png new file mode 100644 index 0000000..bb13059 Binary files /dev/null and b/element.png differ diff --git a/etc/apps/communication.nix b/etc/apps/communication.nix index e4e64b8..607778c 100755 --- a/etc/apps/communication.nix +++ b/etc/apps/communication.nix @@ -7,9 +7,9 @@ mumble # voip element-desktop # fully featured matrix client #gomuks # tui matrix client - cinny-desktop ]; + } diff --git a/etc/apps/graphics.nix b/etc/apps/graphics.nix new file mode 100644 index 0000000..b76245e --- /dev/null +++ b/etc/apps/graphics.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: { + + environment.systemPackages = with pkgs; [ + #krita + gimp + ]; +} diff --git a/etc/apps/music.nix b/etc/apps/music.nix index f7a17b8..51ad841 100755 --- a/etc/apps/music.nix +++ b/etc/apps/music.nix @@ -5,5 +5,27 @@ jamesdsp yt-dlp picard # audio metadata + ncmpc + mpd ]; + + home-manager.users.grape = { + services.mpd-mpris = { + enable = false; + mpd = { + useLocal = true; + }; + }; + # running it via home manager, as by default it has no permission to access my audio drivers + services.mpd = { + enable = false; + musicDirectory = "/home/grape/Music"; + playlistDirectory = "/home/grape/Music/playlists"; + network = { + port = 6600; + listenAddress = "127.0.0.1"; + }; + }; + }; } + diff --git a/etc/apps/prod.nix b/etc/apps/prod.nix index 23e2148..8d88292 100755 --- a/etc/apps/prod.nix +++ b/etc/apps/prod.nix @@ -5,14 +5,8 @@ logseq inputs.romodoro.packages.x86_64-linux.default taskwarrior-tui - #inputs.dttyper.packages.x86_64-linux.default - #(pkgs.callPackage ./dttyper/default.nix { }) - #(pkgs.callPackage ./romodoro/default.nix { }) - #(pkgs.callPackage ./goki/default.nix { }) - - + inputs.dttyper.packages.x86_64-linux.default ]; - } diff --git a/etc/configs/alacritty.nix b/etc/configs/alacritty.nix index 1280421..0cfc563 100644 --- a/etc/configs/alacritty.nix +++ b/etc/configs/alacritty.nix @@ -8,10 +8,33 @@ family = "Jetbrains Mono Nerd font"; style = "Regular"; }; - #shell.program = "${pkgs.zsh}"; - colors.primary = { - foreground = "#ffffff"; - background = "#191830"; + + colors = { + primary.background = "0x1E1E3F"; + primary.foreground = "0xE1EFFF"; + + cursor.text = "0x1E1E3F"; + cursor.cursor = "0xFAD000"; + + # Normal colors + normal.black = "0x000000"; + normal.red = "0xEC3A37"; + normal.green = "0x75e44c"; + normal.yellow = "0xFAD000"; + normal.blue = "0x6943FF"; + normal.magenta = "0xFF2C70"; + normal.cyan = "0x80FCFF"; + normal.white = "0xFFFFFF"; + + # Bright colors + bright.black = "0x5C5C61"; + bright.red = "0xEC3A37"; + bright.green = "0x3AD900"; + bright.yellow = "0xFAD000"; + bright.blue = "0x6943FF"; + bright.magenta = "0xFB94FF"; + bright.cyan = "0x80FCFF"; + bright.white = "0x2D2B55"; }; }; }; diff --git a/etc/configs/builders.nix b/etc/configs/builders.nix new file mode 100644 index 0000000..28aad7f --- /dev/null +++ b/etc/configs/builders.nix @@ -0,0 +1,19 @@ +{ config, pkgs, ... }: +{ + nix.buildMachines = + [{ + hostName = "pink"; + system = "x86_64-linux"; + protocol = "ssh-ng"; + maxJobs = 3; + speedFactor = 2; + supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; + mandatoryFeatures = [ ]; + }]; + # required, otherwise remote buildMachines above aren't used + nix.distributedBuilds = true; + # optional, useful when the builder has a faster internet connection than yours + nix.extraOptions = '' + builders-use-substitutes = true + ''; +} diff --git a/etc/configs/element.nix b/etc/configs/element.nix new file mode 100644 index 0000000..22f0ac9 --- /dev/null +++ b/etc/configs/element.nix @@ -0,0 +1,55 @@ +{ pkgs, ... }: { + # https://github.com/element-hq/element-web/blob/develop/config.sample.json + home-manager.users.grape.home.file.".config/Element/config.json" = { + enable = true; + text = '' + { + "default_theme": "Purple", + "setting_defaults": { + "breadcrumbs": true, + "custom_themes": [ + { + "name": "Purple", + "is_dark": true, + "colors": { + "accent-color": "#FAd000", + "primary-color": "#FFF", + "warning-color": "#ec3a37f5", + "sidebar-color": "#192030", + "roomlist-background-color": "#131327", + "roomlist-text-color": "#FFF", + "roomlist-text-secondary-color": "#00ff00", + "roomlist-highlights-color": "#00000030", + "roomlist-separator-color": "#4d4d4d90", + "timeline-background-color": "#191830", + "timeline-text-color": "#fff", + "secondary-content": "#fff", + "tertiary-content": "#7870ab", + "quinary-content": "#fad000", + "timeline-text-secondary-color": "#FAD000", + "timeline-highlights-color": "#00000030", + "reaction-row-button-selected-bg-color": "#689d6a", + "menu-selected-color": "#fad000", + "icon-button-color": "#fad000", + "accent": "#689d6a", + "alert": "#cc241d", + "username-colors": [ + "#FAD000", + "#ff7200", + "#35ad68", + "#5d37f0", + "#80fcff", + "#3ad900", + "#b362ff", + "#fff" + ], + "avatar-background-colors": ["#458588", "#b16286", "#689d6a"] + } + } + ] + } + } + ''; + }; + +} diff --git a/etc/configs/firefox.nix b/etc/configs/firefox.nix index f6cf1c5..80910f1 100644 --- a/etc/configs/firefox.nix +++ b/etc/configs/firefox.nix @@ -103,6 +103,7 @@ }; }; }; + } diff --git a/etc/configs/gpu-screen-recorder.nix b/etc/configs/gpu-screen-recorder.nix index c36b40a..13ea7a9 100644 --- a/etc/configs/gpu-screen-recorder.nix +++ b/etc/configs/gpu-screen-recorder.nix @@ -1,7 +1,5 @@ { pkgs, config, ... }: { - - environment.systemPackages = [ (pkgs.runCommand "gpu-screen-recorder" { diff --git a/etc/configs/i3.nix b/etc/configs/i3.nix index 23bfdcc..eaa9933 100755 --- a/etc/configs/i3.nix +++ b/etc/configs/i3.nix @@ -119,7 +119,12 @@ in # disable stupid and ugly title bars # and for some reason client.active doesnt change the colors... - extraConfig = "default_border pixel 4\n default_floating_border pixel 1 \n client.focused #FAD000 #285577 #ffffff #FAD000 #FAD000 \n client.focused_inactive #063340 #141414 #000000 #121212 #063340"; + extraConfig = '' + default_border pixel 4 + default_floating_border pixel 1 + client.focused #FAD000 #285577 #ffffff #FAD000 #FAD000 + client.focused_inactive #063340 #141414 #000000 #121212 #063340 + ''; }; } diff --git a/etc/configs/nvim.nix b/etc/configs/nvim.nix new file mode 100644 index 0000000..5eeaae2 --- /dev/null +++ b/etc/configs/nvim.nix @@ -0,0 +1,122 @@ +{ pkgs, ... }: { + programs.nixvim = { + enable = true; + #TODO floaterm + + # test tool + plugins.neotest = { + enable = true; + }; + + # TODO nvim-lspconfig + + # a snippet engine + plugins.luasnip = { + enable = true; + }; + + # TODO lsp_signature idk if it exists + #plugins.lsp_signature = { + # enable = true; + #}; + + + # TODO gen.nvim not in nixvim + + # highlites colors (like #FFF) + plugins.nvim-colorizer = { + enable = true; + }; + + # todo-comments + + # TODO feline-nvim and theme for it + + # inline git blame + plugins.gitsigns = { + enable = true; + settings = { + current_line_blame = true; + trouble = true; + }; + }; + + # inline error display + plugins.trouble = { + enable = true; + }; + + #plugins.nvimtree.enable = true; + + # when adding " or any letter the selected word gets wrapped in it + plugins.surround.enable = true; + + # file explorer + plugins.chadtree = { + enable = true; + }; + + # a cool summary searcher + plugins.navbuddy.enable = true; + + # language server + plugins.lsp = { + enable = true; + servers.rust-analyzer = { + enable = false; + # for devshells + installRustc = false; + installCargo = false; + }; + }; + + # a completion engine using LSP + # TODO language detection + plugins.coq-nvim = { + enable = true; + installArtifacts = true; + settings.completion.always = true; + # TODO start with nvim + }; + + # languages + plugins.rustaceanvim.enable = true; + plugins.nix.enable = true; + + keymaps = [ + { + key = "v"; + action = "CHADopen --always-focus"; + } + { + key = "e"; + action = "CHADopen"; + } + ]; + + opts = { + number = true; + relativenumber = true; + }; + globals.mapleader = " "; + + # TODO shades of purple colorscheme + extraPlugins = [ pkgs.vimPlugins.gruvbox ]; + colorscheme = "gruvbox"; + # extraPlugins = [ + # pkgs.vimUtils.buildVimPlugin + # { + # pname = "shades-of-purple"; + # version = "1.1.1"; + # src = pkgs.fetchFromGitHub { + # owner = "Rigellute"; + # repo = "shades-of-purple.vim"; + # rev = "e806d38190a6a2e8b9244824c2953d6567f141f3"; + # hash = "sha256-iiGASgVlIXnnUNBlp9viKgDBfHiOP5P/yJx9XyELT9g="; + # }; + # buildScript = ":"; + # } + # ]; + + }; +} diff --git a/etc/configs/ollama.nix b/etc/configs/ollama.nix index c4257b7..3e6843b 100644 --- a/etc/configs/ollama.nix +++ b/etc/configs/ollama.nix @@ -3,7 +3,7 @@ environment.systemPackages = with pkgs; [ ollama ]; - services.ollama.enable = true; + services.ollama.enable = false; services.ollama.acceleration = "cuda"; } diff --git a/etc/configs/picom.nix b/etc/configs/picom.nix index e95512d..de4d84c 100755 --- a/etc/configs/picom.nix +++ b/etc/configs/picom.nix @@ -5,6 +5,8 @@ backend = "glx"; vSync = false; # disable vsync to reduce input delay extraArgs = [ "-b" "--experimental-backends" ]; # enable deamon mode and experimental backends for blur + + # idk what package is missing by 24.05 so i included all of them package = (pkgs.picom.overrideAttrs (oldAttrs: rec { src = pkgs.fetchFromGitHub { @@ -13,7 +15,35 @@ rev = "da21aa8ef70f9796bc8609fb495c3a1e02df93f9"; hash = "sha256-rxGWAot+6FnXKjNZkMl1uHHHEMVSxm36G3VoV1vSXLA="; }; - + buildInputs = with pkgs; [ + dbus + libconfig + libdrm + libev + libGL + xorg.libX11 + xorg.libxcb + libxdg_basedir + xorg.libXext + xorg.libXinerama + libxml2 + libxslt + pcre + pixman + xorg.xcbutilimage + xorg.xcbutilrenderutil + xorg.xorgproto + ]; + nativeBuildInputs = with pkgs; [ + asciidoc + docbook_xml_dtd_45 + docbook_xsl + makeWrapper + meson + ninja + pkg-config + uthash + ]; })); settings = { @@ -28,9 +58,6 @@ "window_type = 'desktop'" "_GTK_FRAME_EXTENTS@:c" "class_g ~= 'slop'" - "class_g ~= 'Warframe.x64.exe'" - "class_g ~= 'Warframe.x64.ex'" - "class_g ~= 'Warframe'" "class_g ~= 'Peek'" ]; @@ -45,6 +72,7 @@ "80:class_g *= 'rofi'" "80:class_g *= 'lutris'" "80:class_g *= 'Mumble'" + "80:class_g *= 'Element'" "85:class_g *= 'Logseq'" "85:class_g *= 'Codium'" ]; diff --git a/etc/configs/polybar.nix b/etc/configs/polybar.nix index a4b5cf1..9c0152f 100755 --- a/etc/configs/polybar.nix +++ b/etc/configs/polybar.nix @@ -21,8 +21,8 @@ in home-manager.users.grape.services.polybar = { enable = true; - script = "polybar --reload"; - # Nix is great and all.. but this is a bit too execsive + script = "${script}/polybar.sh"; + config = { "module/date" = { type = "internal/date"; @@ -35,9 +35,8 @@ in label-foreground = "${colors.fg}"; }; - # - # Labels - # + # TODO include labels right into format for each module instea dof having a different module + "module/s" = { type = "custom/text"; label = " | "; @@ -70,30 +69,13 @@ in label = "DAT "; label-foreground = "${ colors. seperatorColor}"; }; - # - # End of labels - # + "module/ewmh" = { type = "internal/xworkspaces"; pin-workspaces = false; label-active-foreground = "${colors.currentWorkspace}"; }; - "module/wired-network" = { - type = "internal/network"; - interface = "eno2"; - interval = ".5"; - label-connected = "%{F${colors.seperatorColor}}%{F-} %downspeed% %{F${colors.seperatorColor}}%{F-} %upspeed%"; - label-foreground = "${colors.fg}"; - }; - "module/wireless-network" = { - type = "internal/network"; - interface = "wlo1"; - interval = ".5"; - label-connected = "%{F${colors.seperatorColor}}%{F-} %downspeed% %{F${colors.seperatorColor}}%{F-} %upspeed%"; - label-foreground = "${colors.fg}"; - }; - "module/cpu-temp" = { type = "internal/temperature"; format = "%{F${colors.seperatorColor}}CPU%{F-}