Nixfiles! :3
0

Configure Feed

Select the types of activity you want to include in your feed.

Alot


Signed-off-by: MLC Bloeiman <mar@strawmelonjuice.com>

MLC Bloeiman (May 4, 2026, 10:06 AM +0200) 19d2d381 1dc0cfaf

+53 -560
-13
configs/fish/config.fish
··· 1 - # ----------------------------------------------------- 2 - # Fish Configuration 3 - # ----------------------------------------------------- 4 - 5 - # This file is created once, you can edit here and it won't be in conflict with chezmoi 6 - 7 - set fish_greeting "" 8 - # Load modular Fish configuration files 9 - for file in ~/.config/fish/config/*.fish 10 - if test -f $file 11 - source $file 12 - end 13 - end
-48
configs/fish/config/00-init.fish
··· 1 - # Set PATH 2 - set -x PATH /usr/lib/ccache/bin /snap/bin $HOME/bin $HOME/.local/bin/mini $HOME/.bun/bin $PATH 3 - 4 - # # Set history file location 5 - # set -x fish_history "$HOME/.local/share/fish/fish_history" 6 - 7 - # Set history size 8 - set -x fish_history_size 10000 9 - 10 - # ----------------------------------------------------- 11 - # INIT 12 - # ----------------------------------------------------- 13 - 14 - # Exporting EDITOR 15 - # On Debian, add nvim to path 16 - if test -f /etc/debian_version 17 - set -x PATH $PATH /opt/nvim-linux64/bin 18 - end 19 - set -x USERTERM $TERM 20 - if test -n "$WSL_INTEROP" 21 - set -x USERTERM "$TERM-wsl" 22 - end 23 - 24 - # Heartbreaking: Mise no longer important as package manager in Nix-configs. 25 - # mise activate fish | source 26 - 27 - 28 - set -x EDITOR nvim 29 - set -x VISUAL nvim 30 - if set -q ZED_TERM 31 - set -x EDITOR zeditor 32 - set -x VISUAL zeditor 33 - set -x JJ_EDITOR 'zeditor --wait' 34 - end 35 - # # On local machines, excluding on Niri (it doesn't need Muxing) or inside toolbx (because it's going to stack) 36 - # if status is-interactive; and not set -q TOOLBOX_NAME; and not set -q NIRI_SOCKET; and not set -q SSH_CONNECTION 37 - # set ZELLIJ_AUTO_EXIT true 38 - # eval (zellij setup --generate-auto-start fish | string collect) 39 - # end 40 - 41 - # On SSH connections, we want a slightly different approach. 42 - if status is-interactive; and set -q SSH_CONNECTION 43 - set ZELLIJ_AUTO_ATTACH true 44 - set ZELLIJ_AUTO_EXIT true 45 - eval (zellij setup --generate-auto-start fish | string collect) 46 - end 47 - 48 - direnv hook fish | source
-45
configs/fish/config/10-customization.fish
··· 1 - # ----------------------------------------------------- 2 - # Customization 3 - # ----------------------------------------------------- 4 - 5 - # Initialize Starship prompt 6 - starship init fish | source 7 - 8 - # Enhanced completion options 9 - # Fish handles completions differently, so no direct translation is needed. 10 - 11 - # Directory navigation aliases 12 - alias .. 'cd ..' 13 - alias ... 'cd ../..' 14 - alias .... 'cd ../../..' 15 - alias ..... 'cd ../../../..' 16 - 17 - # ----------------------------------------------------- 18 - # Clipboard utilities 19 - # ----------------------------------------------------- 20 - if type -q xclip 21 - alias pbcopy 'xclip -selection clipboard' 22 - alias pbpaste 'xclip -selection clipboard -o' 23 - else if type -q xsel 24 - alias pbcopy 'xsel --clipboard --input' 25 - alias pbpaste 'xsel --clipboard --output' 26 - else if type -q wl-copy 27 - alias pbcopy 'wl-copy' 28 - alias pbpaste 'wl-paste' 29 - end 30 - 31 - function copyfile 32 - if test -f $argv[1] 33 - cat $argv[1] | pbcopy 34 - echo "File $argv[1] copied to clipboard" 35 - else 36 - echo "File $argv[1] not found" 37 - end 38 - end 39 - 40 - function copybuffer 41 - echo $argv | pbcopy 42 - echo "Command line copied to clipboard" 43 - end 44 - 45 - set -x GIT_EXTERNAL_DIFF difft
-146
configs/fish/config/20-aliases.fish
··· 1 - # ----------------------------------------------------- 2 - # Aliases 3 - # ----------------------------------------------------- 4 - 5 - # General aliases 6 - alias cls clear 7 - alias ls 'eza --icons' 8 - alias la 'eza -a --icons' 9 - alias ll 'eza -al --icons' 10 - alias lt 'eza -a --tree --level=1 --icons' 11 - alias v '$EDITOR' 12 - alias cat 'bat -p' 13 - alias zed 'ZED_ALLOW_EMULATED_GPU=1 SHELL=$(which fish) zeditor' 14 - alias to-dotfiles "cd ~/.dotfiles || cd ~/dotfiles" 15 - alias strider 'zellij plugin --in-place -- zellij:strider' 16 - 17 - # ----------------------------------------------------- 18 - # Directory navigation and aliases 19 - # ----------------------------------------------------- 20 - zoxide init fish --cmd zox | source 21 - 22 - function zap 23 - if test -d .jj; or test -d .git 24 - clear -x 25 - set -l repo_type "" 26 - if test -d .git -a -d .jj 27 - set repo_type "JJ (git-colocated)" 28 - else if test -d .jj 29 - set repo_type Jujutsu 30 - else 31 - set repo_type Git 32 - end 33 - 34 - echo "📂 Opened $repo_type repository: $(pwd)" 35 - 36 - if test -d .git 37 - git fetch 38 - else 39 - jj git fetch 40 - end 41 - # Show repository line counts 42 - kc 43 - 44 - if test -d .jj 45 - jj log -Tbuiltin_log_compact_full_description -r'ancestors(bookmarks() & @-, 5) & ~@' --reversed --no-pager --limit 5 46 - jj show --summary 47 - else 48 - git status 49 - end 50 - 51 - # Show repository filetree 52 - # eza --icons -L 2 -R --tree --git-ignore # Disabled. Output gets too long. 53 - 54 - # Dynamically tell user of flakes. 55 - if test -f flake.nix; and type -q nix; and not set -q IN_NIX_SHELL; and not test -f .envrc 56 - echo -e "\n\n❄️\tFound flake.nix, run 'create-envrc' to create a .envrc file here to load this flake automatically." 57 - echo -e "\tOr alternatively, run 'dev' to open Fish in a nix develop shell." 58 - end 59 - else 60 - eza -a --icons 61 - end 62 - end 63 - 64 - 65 - function dev 66 - if set -q IN_NIX_SHELL 67 - echo "⚠️ Already inside Nix shell!" 68 - return 0 69 - end 70 - if test -f .envrc 71 - echo "⚠️ .envrc found, direnv will be used." 72 - direnv allow 73 - return 0 74 - end 75 - if test -f flake.nix; and type -q nix 76 - nix develop --set-env-var SHELL $SHELL -c $SHELL 77 - else if not type -q nix 78 - echo "󱄅 Nix is not installed!" 79 - else 80 - echo "❌ No Flake.nix file in this directory" 81 - end 82 - end 83 - 84 - function create-envrc 85 - if test -f .envrc 86 - echo "⚠️ .envrc already here, can't safely insert." 87 - return 0 88 - end 89 - if test -f flake.nix; and type -q nix and 90 - type -q direnv 91 - if not test -f .gitignore; or not grep -q "^\.direnv/" .gitignore 92 - echo -e "\n# Ignore direnv cache\n.direnv/" >>.gitignore 93 - end 94 - echo "if nix flake show &> /dev/null; then 95 - use flake 96 - fi" >./.envrc 97 - direnv allow 98 - else if not type -q direnv 99 - echo "󱄅 Direnv is not installed!" 100 - else if not type -q nix 101 - echo "󱄅 Nix is not installed!" 102 - else 103 - echo "❌ No Flake.nix file in this directory" 104 - end 105 - end 106 - 107 - # Wrap functionality around zoxide's (bang) 108 - function banger 109 - zox $argv; and zap 110 - end 111 - 112 - function bangeri 113 - zoxi $argv; and zap 114 - end 115 - 116 - alias cd banger 117 - alias cdi bangeri 118 - 119 - # abbreviations 120 - abbr nsn 'nix shell nixpkgs#' 121 - abbr nixpkgs 'nix search nixpkgs' 122 - abbr shutdown 'systemctl poweroff' 123 - # Rebuild nix config 124 - abbr rb 'to-dotfiles && jj file track . && doas env PATH=$PATH nixos-rebuild switch --flake .#(hostname) && niri validate' 125 - # Zellij aliases and completion 126 - # zellij setup --generate-completion fish | source 127 - abbr ide 'zellij --layout ide' 128 - # JJ-related abbreviations and aliases 129 - abbr jje 'jj edit' 130 - # ===================================================== --> Please do not break 131 - alias jjd 'jj desc @ -m " 132 - 133 - 134 - Signed-off-by: $(git config user.name) <$(git config user.email)>" && jj desc @ && jj sign -r @' 135 - # ===================================================== --> Please do not break 136 - function jjdm 137 - jj desc @ -m "$argv 138 - 139 - 140 - Signed-off-by: $(git config user.name) <$(git config user.email)>" && jj sign -r @ 141 - end 142 - abbr jjda 'jj describe @ -m "$(date)"' 143 - abbr jjs 'jj show' 144 - abbr jjn 'jj next --edit' 145 - # Cargo-related abbreviations 146 - abbr cargock 'cargo-clean-all --keep-days 21 ~ -i'
-94
configs/fish/config/30-autostart.fish
··· 1 - # ----------------------------------------------------- 2 - # Autostart 3 - # ----------------------------------------------------- 4 - 5 - # Hyfetch 6 - if status is-interactive 7 - if not set -q HYFETCH_DONE; and not set -q IN_NIX_SHELL 8 - # set up (cat /proc/uptime | awk '{print $1}') 9 - # set up (string split -r '.' $up)[1] 10 - # if test $up -lt 300 11 - # Alleen draaien als we niet in een subshell zitten en hyfetch nog niet is geweest 12 - 13 - set -g HYFETCH_DONE 1 14 - if test -f /etc/os-release; and grep -q '^VARIANT_ID=silverblue$' /etc/os-release 15 - # Hyfetch incorrectly sees silverblue as normal Fedora 16 - hyfetch --distro=silverblue 17 - else 18 - # On all other systems (Fedora Workstation, Ubuntu, macOS, etc.) 19 - # or if the file doesn't exist, run the default. 20 - hyfetch 21 - end 22 - end 23 - end 24 - 25 - # Bitwarden session setup 26 - # Only run in interactive shells 27 - if type -q bw && status is-interactive 28 - set BW_PASSWORD_FILE "$HOME/.bitwarden_password" 29 - set BW_SESSION_FILE "$HOME/.cache/bw-session" 30 - 31 - function bw_unlock_with_password_file 32 - if test -f "$BW_PASSWORD_FILE" 33 - set BW_SESSION "$(bw unlock --passwordfile "$BW_PASSWORD_FILE" --raw 2>/dev/null)" 34 - if test -n "$BW_SESSION" 35 - mkdir -p (dirname "$BW_SESSION_FILE") 36 - echo "$BW_SESSION" >"$BW_SESSION_FILE" 37 - chmod 600 "$BW_SESSION_FILE" 38 - set -Ux BW_SESSION "$BW_SESSION" 39 - return 0 40 - else 41 - rm -f "$BW_PASSWORD_FILE" 42 - return 1 43 - end 44 - else 45 - echo "Bitwarden password file not found. Set up automatic unlock? (y/N): " 46 - read response 47 - if test "$response" = y -o "$response" = Y 48 - echo "Enter your Bitwarden master password: " 49 - read -s -l password 50 - 51 - set BW_SESSION "$(echo "$password" | bw unlock --raw 2>/dev/null)" 52 - if test -n "$BW_SESSION" 53 - echo "$password" >"$BW_PASSWORD_FILE" 54 - chmod 600 "$BW_PASSWORD_FILE" 55 - 56 - mkdir -p (dirname "$BW_SESSION_FILE") 57 - echo "$BW_SESSION" >"$BW_SESSION_FILE" 58 - chmod 600 "$BW_SESSION_FILE" 59 - 60 - bw sync --session "$BW_SESSION" >/dev/null 2>&1 61 - 62 - set -Ux BW_SESSION "$BW_SESSION" 63 - echo "Password saved securely. Future shell sessions will unlock automatically." 64 - return 0 65 - else 66 - echo "Invalid password. Bitwarden will remain locked." 67 - return 1 68 - end 69 - else 70 - echo "Skipping Bitwarden setup." 71 - return 1 72 - end 73 - end 74 - end 75 - 76 - if test -f "$BW_SESSION_FILE" 77 - set BW_SESSION "$(cat "$BW_SESSION_FILE")" 78 - if not bw status --session "$BW_SESSION" | grep -q '"status":"unlocked"' 79 - rm -f "$BW_SESSION_FILE" 80 - set -e BW_SESSION 81 - else 82 - set -Ux BW_SESSION "$BW_SESSION" 83 - end 84 - end 85 - 86 - if test -z "$BW_SESSION" 87 - set bw_status (bw status 2>/dev/null || echo '{"status":"unauthenticated"}') 88 - if echo "$bw_status" | grep -q '"status":"locked"' 89 - bw_unlock_with_password_file 90 - else if echo "$bw_status" | grep -q '"status":"unauthenticated"' 91 - echo "Bitwarden not logged in. Run 'bw login' first." 92 - end 93 - end 94 - end
-161
configs/fish/config/40-bitwarden-functions.fish
··· 1 - # ----------------------------------------------------- 2 - # Bitwarden Shell Functions 3 - # ----------------------------------------------------- 4 - 5 - # Convenient wrapper functions for Bitwarden CLI 6 - if type -q bw 7 - # Quick Bitwarden functions 8 - function bw-get 9 - set item_name $argv[1] 10 - set field (or $argv[2] "password") 11 - 12 - if not bw-ensure-session 13 - echo "Cannot access Bitwarden vault" 14 - return 1 15 - end 16 - 17 - set item_id "$(bw list items --search "$item_name" | jq -r '.[0].id // empty')" 18 - if test -n "$item_id" 19 - bw get "$field" "$item_id" ^ /dev/null 20 - else 21 - echo "Item '$item_name' not found in Bitwarden vault" 22 - return 1 23 - end 24 - end 25 - 26 - function bw-login 27 - set email (or $BW_EMAIL "") 28 - if test -z "$email" 29 - echo -n "Enter your Bitwarden email: " 30 - read -l email 31 - end 32 - 33 - if test -n "$BW_SERVER" 34 - bw config server "$BW_SERVER" 35 - end 36 - 37 - echo "Logging in to Bitwarden..." 38 - if not bw login "$email" 39 - echo "Failed to login to Bitwarden" 40 - return 1 41 - end 42 - end 43 - 44 - function bw-unlock 45 - set password_file "$HOME/.bitwarden_password" 46 - 47 - if test -f "$password_file" 48 - set session "$(bw unlock --passwordfile "$password_file" --raw)" 49 - if test -n "$session" 50 - set -Ux BW_SESSION "$session" 51 - return 0 52 - else 53 - echo "Password file seems invalid, removing it" 54 - rm -f "$password_file" 55 - end 56 - end 57 - 58 - echo -n "Enter your Bitwarden master password: " 59 - read -s -l password 60 - 61 - set session "$(echo "$password" | bw unlock --raw)" 62 - if test -n "$session" 63 - echo "$password" > "$password_file" 64 - chmod 600 "$password_file" 65 - set -Ux BW_SESSION "$session" 66 - echo "Bitwarden vault unlocked successfully" 67 - return 0 68 - else 69 - echo "Failed to unlock Bitwarden vault - incorrect password" 70 - return 1 71 - end 72 - end 73 - 74 - # Load existing session 75 - function bw-load-session 76 - set session_file "$HOME/.cache/bw-session" 77 - if test -f "$session_file" 78 - set session_token "$(cat "$session_file")" 79 - if test -n "$session_token" && bw list items --search "" >/dev/null 80 - set -Ux BW_SESSION "$session_token" 81 - return 0 82 - else 83 - rm -f "$session_file" 84 - end 85 - end 86 - return 1 87 - end 88 - 89 - # Ensure we have a valid Bitwarden session 90 - function bw-ensure-session 91 - # Only try to load session in interactive shells 92 - if not status is-interactive 93 - return 1 94 - end 95 - 96 - if bw-load-session 97 - return 0 98 - end 99 - 100 - if not bw status | grep -q '"status":"unlocked"' 101 - if bw status | grep -q '"status":"locked"' 102 - bw-unlock 103 - else 104 - bw-login && bw-unlock 105 - end 106 - else 107 - bw-load-session || bw-unlock 108 - end 109 - end 110 - 111 - # Copy secret to clipboard (requires xclip/pbcopy) 112 - function bw-copy 113 - set secret (bw-get $argv[1]) 114 - if test "$secret" != "Not found" -a "$secret" != "BW_NOT_AVAILABLE" 115 - if type -q xclip 116 - echo "$secret" | xclip -selection clipboard 117 - echo "Secret copied to clipboard" 118 - else if type -q pbcopy 119 - echo "$secret" | pbcopy 120 - echo "Secret copied to clipboard" 121 - else 122 - echo "Clipboard utility not available. Secret: $secret" 123 - end 124 - else 125 - echo "Secret not found: $argv[1]" 126 - end 127 - end 128 - 129 - # Generate and copy a random password 130 - function bw-generate 131 - set length (or $argv[1] 20) 132 - if type -q bw 133 - set password (bw generate --length "$length") 134 - if type -q xclip 135 - echo "$password" | xclip -selection clipboard 136 - echo "Generated password copied to clipboard" 137 - else if type -q pbcopy 138 - echo "$password" | pbcopy 139 - echo "Generated password copied to clipboard" 140 - else 141 - echo "Generated password: $password" 142 - end 143 - end 144 - end 145 - 146 - # Template helper: get secret for use in chezmoi templates 147 - function bw-template-helper 148 - set item_name $argv[1] 149 - set field (or $argv[2] "password") 150 - 151 - if not type -q bw 152 - echo "BW_NOT_AVAILABLE" 153 - return 0 154 - end 155 - 156 - if not bw-get-secret "$item_name" "$field" ^ /dev/null 157 - echo "BW_SECRET_NOT_FOUND" 158 - return 0 159 - end 160 - end 161 - end
-1
configs/nvim/lua/plugins/lsp.lua
··· 11 11 }, 12 12 formatters_by_ft = { 13 13 lua = { "stylua" }, 14 - fish = { "fish_indent" }, 15 14 sh = { "shfmt" }, 16 15 nix = { "nixfmt" }, 17 16 gleam = { "gleam" },
+1 -1
configs/zellij/layouts/ide.kdl
··· 5 5 split_direction "vertical" 6 6 pane size="80%" { 7 7 // stacked true 8 - pane borderless=true command="fish" focus=true { 8 + pane borderless=true command="zsh" focus=true { 9 9 // The ide.sh script runs helix or nvim depending on $EDITOR, and once closed, closes the tab. 10 10 args "/home/mar/.config/zellij/scripts/ide.fish" 11 11 }
+2 -24
configs/zshrc-append
··· 35 35 # Dynamically tell user of flakes. 36 36 if [[ -f flake.nix ]] && command -v nix >/dev/null 2>&1 && [[ -z "$IN_NIX_SHELL" ]] && [[ ! -f .envrc ]]; then 37 37 echo -e "\n\n❄️\tFound flake.nix, run 'create-envrc' to create a .envrc file here to load this flake automatically." 38 - echo -e "\tOr alternatively, run 'dev' to open Fish in a nix develop shell." 39 38 fi 40 39 else 41 40 eza -a --icons ··· 51 50 autoload -Uz add-zsh-hook 52 51 add-zsh-hook chpwd _zap_on_cd 53 52 54 - # Alias function: dev 55 - dev() { 56 - if [[ -n "$IN_NIX_SHELL" ]]; then 57 - echo "⚠️ Already inside Nix shell!" 58 - return 0 59 - fi 60 - 61 - if [[ -f .envrc ]]; then 62 - echo "⚠️ .envrc found, direnv will be used." 63 - direnv allow 64 - return 0 65 - fi 66 - 67 - if [[ -f flake.nix ]] && command -v nix >/dev/null 2>&1; then 68 - nix develop --set-env-var SHELL "$SHELL" -c "$SHELL" 69 - elif ! command -v nix >/dev/null 2>&1; then 70 - echo "󱄅 Nix is not installed!" 71 - else 72 - echo "❌ No Flake.nix file in this directory" 73 - fi 74 - } 75 - 76 53 # Function: create-envrc 77 54 function create-envrc() { 78 55 if [ -e .envrc ] 79 56 then 80 57 echo "⚠️ .envrc already here, can't safely insert." 58 + direnv reload 81 59 return 0 82 60 fi 83 61 ··· 108 86 109 87 echo "if nix flake show &> /dev/null; then 110 88 use flake 111 - fi" >./.envrc 89 + fi" >./.envrc 112 90 113 91 direnv allow 114 92 }
+1 -1
home/home.nix
··· 10 10 ./modules/development.nix 11 11 ./modules/fonts.nix 12 12 ./modules/games.nix 13 - ./modules/gnome.nix 13 + ./modules/kde.nix 14 14 ./modules/librewolf.nix 15 15 ./modules/niri.nix 16 16 ./modules/shell.nix
+1
home/host-specific/Fennekin.nix
··· 3 3 }: 4 4 { 5 5 imports = [ 6 + ./modules/gnome.nix 6 7 ./modules/touchscreen.nix 7 8 ./modules/conversation.nix 8 9 ./modules/music-streaming.nix
-1
home/host-specific/Samurott.nix
··· 8 8 ./modules/conversation.nix 9 9 ./modules/music-streaming.nix 10 10 ./modules/school.nix 11 - ./modules/kde.nix 12 11 ]; 13 12 home.packages = with pkgs; [ 14 13 wineWow64Packages.stable
+1 -1
home/host-specific/modules/conversation.nix
··· 2 2 3 3 { 4 4 home.packages = with pkgs; [ 5 - fluffychat 5 + cinny-desktop 6 6 # ... unbridged signal again after the people decided I should 7 7 signal-desktop 8 8 ];
+18 -3
home/host-specific/modules/kde.nix home/modules/kde.nix
··· 26 26 programs.plasma = { 27 27 enable = true; 28 28 overrideConfig = true; 29 - kscreenlocker.appearance.wallpaper = "/home/mar/.local/share/wallpapers/aesthetic-wallpapers/images/pink-clouds.png"; 29 + kscreenlocker.appearance.wallpaper = "/home/mar/.local/share/wallpapers/current_wallpaper.png"; 30 30 workspace = { 31 31 clickItemTo = "select"; 32 32 lookAndFeel = "org.kde.breeze.desktop"; 33 33 colorScheme = "BreezeLight"; 34 34 cursor.theme = "Layan-cursors"; 35 35 iconTheme = "breeze"; 36 - wallpaper = "/home/mar/.local/share/wallpapers/aesthetic-wallpapers/images/pink-clouds.png"; 36 + wallpaper = "/home/mar/.local/share/wallpapers/current_wallpaper.png"; 37 37 }; 38 38 configFile.kdeglobals.General.AccentColor = "245,194,231"; 39 39 configFile.kdeglobals.General.LastUsedCustomAccentColor = "245,194,231"; 40 40 41 + # Get touchpad names by running cat /proc/bus/input/devices 41 42 input.touchpads = [ 42 43 # Fennekin's touchpad 43 44 { ··· 52 53 tapToClick = true; 53 54 vendorId = "04f3"; 54 55 } 56 + # Ponyta's touchpad 57 + { 58 + disableWhileTyping = false; 59 + enable = true; 60 + leftHanded = false; 61 + middleButtonEmulation = true; 62 + name = "ASUE1306:00 04F3:3284 Touchpad"; 63 + naturalScroll = true; 64 + pointerSpeed = 0; 65 + productId = "3284"; 66 + tapToClick = true; 67 + vendorId = "04f3"; 68 + } 69 + 55 70 ]; 56 71 57 72 panels = [ ··· 70 85 "applications:vivaldi-stable.desktop" 71 86 "applications:org.wezfurlong.wezterm.desktop" 72 87 "applications:obsidian.desktop" 73 - "applications:Fluffychat.desktop" 88 + "applications:Cinny.desktop" 74 89 ] 75 90 ++ ( 76 91 if hostname == "Fennekin" then
-1
home/modules/development.nix
··· 11 11 programs.mise = { 12 12 enable = false; 13 13 enableZshIntegration = false; 14 - enableFishIntegration = false; 15 14 }; 16 15 home.packages = with pkgs; [ 17 16 # Mise is being faded out in favor of just due to growing friction between me and Mise's style
-1
home/modules/development/zed.nix
··· 14 14 "gleam" 15 15 "zed-just" 16 16 "discord-presence" 17 - "fish" 18 17 "kdl" 19 18 ]; 20 19 extraPackages = with pkgs; [
+1 -1
home/modules/gnome.nix home/host-specific/modules/gnome.nix
··· 26 26 "vivaldi-stable.desktop" 27 27 "org.wezfurlong.wezterm.desktop" 28 28 "obsidian.desktop" 29 - "Fluffychat.desktop" 29 + "Cinny.desktop" 30 30 ] 31 31 ++ ( 32 32 if hostname == "Fennekin" then
+1 -3
home/modules/niri.nix
··· 27 27 btop 28 28 hyprlock 29 29 libnotify 30 - xwayland-satellite 31 30 wireplumber 32 31 brightnessctl 33 - xclip 34 - wl-clipboard 35 32 cliphist 36 33 playerctl 37 34 killall ··· 272 269 { 273 270 matches = [ 274 271 { app-id = "app.cinny.in"; } 272 + { app-id = "cinny"; } 275 273 { app-id = "discord"; } 276 274 { app-id = "pliiebkcmokkgndfalahlmimanmbjlab"; } 277 275 { app-id = "org.kde.kdeconnect.app"; }
-13
home/modules/shell.nix
··· 5 5 ./shell/kc.nix 6 6 ./shell/zsh.nix 7 7 ]; 8 - programs.fish = { 9 - enable = true; 10 - }; 11 8 programs.direnv = { 12 9 silent = true; 13 10 enable = true; ··· 39 36 source = ../../configs/ssh-config; 40 37 }; 41 38 42 - xdg.configFile."fish" = { 43 - source = ../../configs/fish; 44 - recursive = true; 45 - }; 46 39 xdg.configFile."zellij" = { 47 40 source = ../../configs/zellij; 48 41 recursive = true; ··· 59 52 hyfetch 60 53 macchina 61 54 zellij 62 - fish 63 - fishPlugins.done 64 - fishPlugins.fzf-fish 65 - fishPlugins.forgit 66 - fishPlugins.hydro 67 55 fzf 68 - fishPlugins.grc 69 56 xsel 70 57 jq 71 58 ];
+2
hosts/Fennekin/configuration.nix
··· 82 82 # Enable touchpad support (enabled default in most desktopManager). 83 83 # services.xserver.libinput.enable = true; 84 84 85 + services.desktopManager.gnome.enable = true; 86 + 85 87 # List packages installed in system profile. To search, run: 86 88 # $ nix search wget 87 89 environment.systemPackages = with pkgs; [
+25 -2
hosts/all-hosts.nix
··· 60 60 podman-compose 61 61 podman-tui 62 62 polkit_gnome 63 + wayland-utils 64 + wl-clipboard 65 + xclip 66 + xwayland-satellite 67 + vlc 68 + 69 + # KDE Utilities 70 + kdePackages.kcalc 71 + kdePackages.kcharselect 72 + kdePackages.kclock 73 + kdePackages.kcolorchooser 74 + kdePackages.ksystemlog 75 + kdePackages.isoimagewriter 76 + kdePackages.partitionmanager 63 77 ]; 64 78 65 79 programs.nix-ld.enable = true; ··· 80 94 # Enable the GNOME Desktop Environment, Niri and Cosmic. I like to be able to switch whenever. 81 95 services.displayManager.cosmic-greeter.enable = true; 82 96 # services.displayManager.gdm.enable = true; 83 - services.desktopManager.gnome.enable = true; 84 - programs.ssh.askPassword = lib.mkForce "${pkgs.gnome-themes-extra}/libexec/seahorse/ssh-askpass"; 97 + # programs.ssh.askPassword = lib.mkForce "${pkgs.gnome-themes-extra}/libexec/seahorse/ssh-askpass"; 98 + services.desktopManager.plasma6.enable = true; 99 + environment.plasma6.excludePackages = with pkgs; [ 100 + kdePackages.elisa # We got strawberry 101 + kdePackages.kdepim-runtime 102 + kdePackages.konversation # IRC client 103 + kdePackages.kpat # Solitaire 104 + kdePackages.ksudoku 105 + kdePackages.ktorrent 106 + ]; 107 + 85 108 programs.niri.enable = true; 86 109 services.gnome.gnome-keyring.enable = true; 87 110 security.pam.services.mar.enableGnomeKeyring = true;