From 19d2d381d63ffc13626d44c4cb65e75d233dcda0 Mon Sep 17 00:00:00 2001 From: MLC Bloeiman Date: Sun, 3 May 2026 18:32:00 +0200 Subject: [PATCH] Alot Signed-off-by: MLC Bloeiman --- configs/fish/config.fish | 13 -- configs/fish/config/00-init.fish | 48 ------ configs/fish/config/10-customization.fish | 45 ----- configs/fish/config/20-aliases.fish | 146 ---------------- configs/fish/config/30-autostart.fish | 94 ---------- .../fish/config/40-bitwarden-functions.fish | 161 ------------------ configs/nvim/lua/plugins/lsp.lua | 1 - configs/zellij/layouts/ide.kdl | 2 +- configs/zshrc-append | 26 +-- home/home.nix | 2 +- home/host-specific/Fennekin.nix | 1 + home/host-specific/Samurott.nix | 1 - home/host-specific/modules/conversation.nix | 2 +- home/{ => host-specific}/modules/gnome.nix | 2 +- home/modules/development.nix | 1 - home/modules/development/zed.nix | 1 - home/{host-specific => }/modules/kde.nix | 21 ++- home/modules/niri.nix | 4 +- home/modules/shell.nix | 13 -- hosts/Fennekin/configuration.nix | 2 + hosts/all-hosts.nix | 27 ++- 21 files changed, 53 insertions(+), 560 deletions(-) delete mode 100644 configs/fish/config.fish delete mode 100644 configs/fish/config/00-init.fish delete mode 100644 configs/fish/config/10-customization.fish delete mode 100644 configs/fish/config/20-aliases.fish delete mode 100644 configs/fish/config/30-autostart.fish delete mode 100644 configs/fish/config/40-bitwarden-functions.fish rename home/{ => host-specific}/modules/gnome.nix (99%) rename home/{host-specific => }/modules/kde.nix (81%) diff --git a/configs/fish/config.fish b/configs/fish/config.fish deleted file mode 100644 index 8a85a5c..0000000 --- a/configs/fish/config.fish +++ /dev/null @@ -1,13 +0,0 @@ -# ----------------------------------------------------- -# Fish Configuration -# ----------------------------------------------------- - -# This file is created once, you can edit here and it won't be in conflict with chezmoi - -set fish_greeting "" -# Load modular Fish configuration files -for file in ~/.config/fish/config/*.fish - if test -f $file - source $file - end -end diff --git a/configs/fish/config/00-init.fish b/configs/fish/config/00-init.fish deleted file mode 100644 index 2136b95..0000000 --- a/configs/fish/config/00-init.fish +++ /dev/null @@ -1,48 +0,0 @@ -# Set PATH -set -x PATH /usr/lib/ccache/bin /snap/bin $HOME/bin $HOME/.local/bin/mini $HOME/.bun/bin $PATH - -# # Set history file location -# set -x fish_history "$HOME/.local/share/fish/fish_history" - -# Set history size -set -x fish_history_size 10000 - -# ----------------------------------------------------- -# INIT -# ----------------------------------------------------- - -# Exporting EDITOR -# On Debian, add nvim to path -if test -f /etc/debian_version - set -x PATH $PATH /opt/nvim-linux64/bin -end -set -x USERTERM $TERM -if test -n "$WSL_INTEROP" - set -x USERTERM "$TERM-wsl" -end - -# Heartbreaking: Mise no longer important as package manager in Nix-configs. -# mise activate fish | source - - -set -x EDITOR nvim -set -x VISUAL nvim -if set -q ZED_TERM - set -x EDITOR zeditor - set -x VISUAL zeditor - set -x JJ_EDITOR 'zeditor --wait' -end -# # On local machines, excluding on Niri (it doesn't need Muxing) or inside toolbx (because it's going to stack) -# if status is-interactive; and not set -q TOOLBOX_NAME; and not set -q NIRI_SOCKET; and not set -q SSH_CONNECTION -# set ZELLIJ_AUTO_EXIT true -# eval (zellij setup --generate-auto-start fish | string collect) -# end - -# On SSH connections, we want a slightly different approach. -if status is-interactive; and set -q SSH_CONNECTION - set ZELLIJ_AUTO_ATTACH true - set ZELLIJ_AUTO_EXIT true - eval (zellij setup --generate-auto-start fish | string collect) -end - -direnv hook fish | source diff --git a/configs/fish/config/10-customization.fish b/configs/fish/config/10-customization.fish deleted file mode 100644 index 96ffe37..0000000 --- a/configs/fish/config/10-customization.fish +++ /dev/null @@ -1,45 +0,0 @@ -# ----------------------------------------------------- -# Customization -# ----------------------------------------------------- - -# Initialize Starship prompt -starship init fish | source - -# Enhanced completion options -# Fish handles completions differently, so no direct translation is needed. - -# Directory navigation aliases -alias .. 'cd ..' -alias ... 'cd ../..' -alias .... 'cd ../../..' -alias ..... 'cd ../../../..' - -# ----------------------------------------------------- -# Clipboard utilities -# ----------------------------------------------------- -if type -q xclip - alias pbcopy 'xclip -selection clipboard' - alias pbpaste 'xclip -selection clipboard -o' -else if type -q xsel - alias pbcopy 'xsel --clipboard --input' - alias pbpaste 'xsel --clipboard --output' -else if type -q wl-copy - alias pbcopy 'wl-copy' - alias pbpaste 'wl-paste' -end - -function copyfile - if test -f $argv[1] - cat $argv[1] | pbcopy - echo "File $argv[1] copied to clipboard" - else - echo "File $argv[1] not found" - end -end - -function copybuffer - echo $argv | pbcopy - echo "Command line copied to clipboard" -end - -set -x GIT_EXTERNAL_DIFF difft diff --git a/configs/fish/config/20-aliases.fish b/configs/fish/config/20-aliases.fish deleted file mode 100644 index dd5a05c..0000000 --- a/configs/fish/config/20-aliases.fish +++ /dev/null @@ -1,146 +0,0 @@ -# ----------------------------------------------------- -# Aliases -# ----------------------------------------------------- - -# General aliases -alias cls clear -alias ls 'eza --icons' -alias la 'eza -a --icons' -alias ll 'eza -al --icons' -alias lt 'eza -a --tree --level=1 --icons' -alias v '$EDITOR' -alias cat 'bat -p' -alias zed 'ZED_ALLOW_EMULATED_GPU=1 SHELL=$(which fish) zeditor' -alias to-dotfiles "cd ~/.dotfiles || cd ~/dotfiles" -alias strider 'zellij plugin --in-place -- zellij:strider' - -# ----------------------------------------------------- -# Directory navigation and aliases -# ----------------------------------------------------- -zoxide init fish --cmd zox | source - -function zap - if test -d .jj; or test -d .git - clear -x - set -l repo_type "" - if test -d .git -a -d .jj - set repo_type "JJ (git-colocated)" - else if test -d .jj - set repo_type Jujutsu - else - set repo_type Git - end - - echo "šŸ“‚ Opened $repo_type repository: $(pwd)" - - if test -d .git - git fetch - else - jj git fetch - end - # Show repository line counts - kc - - if test -d .jj - jj log -Tbuiltin_log_compact_full_description -r'ancestors(bookmarks() & @-, 5) & ~@' --reversed --no-pager --limit 5 - jj show --summary - else - git status - end - - # Show repository filetree - # eza --icons -L 2 -R --tree --git-ignore # Disabled. Output gets too long. - - # Dynamically tell user of flakes. - if test -f flake.nix; and type -q nix; and not set -q IN_NIX_SHELL; and not test -f .envrc - echo -e "\n\nā„ļø\tFound flake.nix, run 'create-envrc' to create a .envrc file here to load this flake automatically." - echo -e "\tOr alternatively, run 'dev' to open Fish in a nix develop shell." - end - else - eza -a --icons - end -end - - -function dev - if set -q IN_NIX_SHELL - echo "āš ļø Already inside Nix shell!" - return 0 - end - if test -f .envrc - echo "āš ļø .envrc found, direnv will be used." - direnv allow - return 0 - end - if test -f flake.nix; and type -q nix - nix develop --set-env-var SHELL $SHELL -c $SHELL - else if not type -q nix - echo "󱄅 Nix is not installed!" - else - echo "āŒ No Flake.nix file in this directory" - end -end - -function create-envrc - if test -f .envrc - echo "āš ļø .envrc already here, can't safely insert." - return 0 - end - if test -f flake.nix; and type -q nix and - type -q direnv - if not test -f .gitignore; or not grep -q "^\.direnv/" .gitignore - echo -e "\n# Ignore direnv cache\n.direnv/" >>.gitignore - end - echo "if nix flake show &> /dev/null; then - use flake - fi" >./.envrc - direnv allow - else if not type -q direnv - echo "󱄅 Direnv is not installed!" - else if not type -q nix - echo "󱄅 Nix is not installed!" - else - echo "āŒ No Flake.nix file in this directory" - end -end - -# Wrap functionality around zoxide's (bang) -function banger - zox $argv; and zap -end - -function bangeri - zoxi $argv; and zap -end - -alias cd banger -alias cdi bangeri - -# abbreviations -abbr nsn 'nix shell nixpkgs#' -abbr nixpkgs 'nix search nixpkgs' -abbr shutdown 'systemctl poweroff' -# Rebuild nix config -abbr rb 'to-dotfiles && jj file track . && doas env PATH=$PATH nixos-rebuild switch --flake .#(hostname) && niri validate' -# Zellij aliases and completion -# zellij setup --generate-completion fish | source -abbr ide 'zellij --layout ide' -# JJ-related abbreviations and aliases -abbr jje 'jj edit' -# ===================================================== --> Please do not break -alias jjd 'jj desc @ -m " - - -Signed-off-by: $(git config user.name) <$(git config user.email)>" && jj desc @ && jj sign -r @' -# ===================================================== --> Please do not break -function jjdm - jj desc @ -m "$argv - - -Signed-off-by: $(git config user.name) <$(git config user.email)>" && jj sign -r @ -end -abbr jjda 'jj describe @ -m "$(date)"' -abbr jjs 'jj show' -abbr jjn 'jj next --edit' -# Cargo-related abbreviations -abbr cargock 'cargo-clean-all --keep-days 21 ~ -i' diff --git a/configs/fish/config/30-autostart.fish b/configs/fish/config/30-autostart.fish deleted file mode 100644 index 20387ac..0000000 --- a/configs/fish/config/30-autostart.fish +++ /dev/null @@ -1,94 +0,0 @@ -# ----------------------------------------------------- -# Autostart -# ----------------------------------------------------- - -# Hyfetch -if status is-interactive - if not set -q HYFETCH_DONE; and not set -q IN_NIX_SHELL - # set up (cat /proc/uptime | awk '{print $1}') - # set up (string split -r '.' $up)[1] - # if test $up -lt 300 - # Alleen draaien als we niet in een subshell zitten en hyfetch nog niet is geweest - - set -g HYFETCH_DONE 1 - if test -f /etc/os-release; and grep -q '^VARIANT_ID=silverblue$' /etc/os-release - # Hyfetch incorrectly sees silverblue as normal Fedora - hyfetch --distro=silverblue - else - # On all other systems (Fedora Workstation, Ubuntu, macOS, etc.) - # or if the file doesn't exist, run the default. - hyfetch - end -end -end - -# Bitwarden session setup -# Only run in interactive shells -if type -q bw && status is-interactive - set BW_PASSWORD_FILE "$HOME/.bitwarden_password" - set BW_SESSION_FILE "$HOME/.cache/bw-session" - - function bw_unlock_with_password_file - if test -f "$BW_PASSWORD_FILE" - set BW_SESSION "$(bw unlock --passwordfile "$BW_PASSWORD_FILE" --raw 2>/dev/null)" - if test -n "$BW_SESSION" - mkdir -p (dirname "$BW_SESSION_FILE") - echo "$BW_SESSION" >"$BW_SESSION_FILE" - chmod 600 "$BW_SESSION_FILE" - set -Ux BW_SESSION "$BW_SESSION" - return 0 - else - rm -f "$BW_PASSWORD_FILE" - return 1 - end - else - echo "Bitwarden password file not found. Set up automatic unlock? (y/N): " - read response - if test "$response" = y -o "$response" = Y - echo "Enter your Bitwarden master password: " - read -s -l password - - set BW_SESSION "$(echo "$password" | bw unlock --raw 2>/dev/null)" - if test -n "$BW_SESSION" - echo "$password" >"$BW_PASSWORD_FILE" - chmod 600 "$BW_PASSWORD_FILE" - - mkdir -p (dirname "$BW_SESSION_FILE") - echo "$BW_SESSION" >"$BW_SESSION_FILE" - chmod 600 "$BW_SESSION_FILE" - - bw sync --session "$BW_SESSION" >/dev/null 2>&1 - - set -Ux BW_SESSION "$BW_SESSION" - echo "Password saved securely. Future shell sessions will unlock automatically." - return 0 - else - echo "Invalid password. Bitwarden will remain locked." - return 1 - end - else - echo "Skipping Bitwarden setup." - return 1 - end - end - end - - if test -f "$BW_SESSION_FILE" - set BW_SESSION "$(cat "$BW_SESSION_FILE")" - if not bw status --session "$BW_SESSION" | grep -q '"status":"unlocked"' - rm -f "$BW_SESSION_FILE" - set -e BW_SESSION - else - set -Ux BW_SESSION "$BW_SESSION" - end - end - - if test -z "$BW_SESSION" - set bw_status (bw status 2>/dev/null || echo '{"status":"unauthenticated"}') - if echo "$bw_status" | grep -q '"status":"locked"' - bw_unlock_with_password_file - else if echo "$bw_status" | grep -q '"status":"unauthenticated"' - echo "Bitwarden not logged in. Run 'bw login' first." - end - end -end diff --git a/configs/fish/config/40-bitwarden-functions.fish b/configs/fish/config/40-bitwarden-functions.fish deleted file mode 100644 index 6569b68..0000000 --- a/configs/fish/config/40-bitwarden-functions.fish +++ /dev/null @@ -1,161 +0,0 @@ -# ----------------------------------------------------- -# Bitwarden Shell Functions -# ----------------------------------------------------- - -# Convenient wrapper functions for Bitwarden CLI -if type -q bw - # Quick Bitwarden functions - function bw-get - set item_name $argv[1] - set field (or $argv[2] "password") - - if not bw-ensure-session - echo "Cannot access Bitwarden vault" - return 1 - end - - set item_id "$(bw list items --search "$item_name" | jq -r '.[0].id // empty')" - if test -n "$item_id" - bw get "$field" "$item_id" ^ /dev/null - else - echo "Item '$item_name' not found in Bitwarden vault" - return 1 - end - end - - function bw-login - set email (or $BW_EMAIL "") - if test -z "$email" - echo -n "Enter your Bitwarden email: " - read -l email - end - - if test -n "$BW_SERVER" - bw config server "$BW_SERVER" - end - - echo "Logging in to Bitwarden..." - if not bw login "$email" - echo "Failed to login to Bitwarden" - return 1 - end - end - - function bw-unlock - set password_file "$HOME/.bitwarden_password" - - if test -f "$password_file" - set session "$(bw unlock --passwordfile "$password_file" --raw)" - if test -n "$session" - set -Ux BW_SESSION "$session" - return 0 - else - echo "Password file seems invalid, removing it" - rm -f "$password_file" - end - end - - echo -n "Enter your Bitwarden master password: " - read -s -l password - - set session "$(echo "$password" | bw unlock --raw)" - if test -n "$session" - echo "$password" > "$password_file" - chmod 600 "$password_file" - set -Ux BW_SESSION "$session" - echo "Bitwarden vault unlocked successfully" - return 0 - else - echo "Failed to unlock Bitwarden vault - incorrect password" - return 1 - end - end - - # Load existing session - function bw-load-session - set session_file "$HOME/.cache/bw-session" - if test -f "$session_file" - set session_token "$(cat "$session_file")" - if test -n "$session_token" && bw list items --search "" >/dev/null - set -Ux BW_SESSION "$session_token" - return 0 - else - rm -f "$session_file" - end - end - return 1 - end - - # Ensure we have a valid Bitwarden session - function bw-ensure-session - # Only try to load session in interactive shells - if not status is-interactive - return 1 - end - - if bw-load-session - return 0 - end - - if not bw status | grep -q '"status":"unlocked"' - if bw status | grep -q '"status":"locked"' - bw-unlock - else - bw-login && bw-unlock - end - else - bw-load-session || bw-unlock - end - end - - # Copy secret to clipboard (requires xclip/pbcopy) - function bw-copy - set secret (bw-get $argv[1]) - if test "$secret" != "Not found" -a "$secret" != "BW_NOT_AVAILABLE" - if type -q xclip - echo "$secret" | xclip -selection clipboard - echo "Secret copied to clipboard" - else if type -q pbcopy - echo "$secret" | pbcopy - echo "Secret copied to clipboard" - else - echo "Clipboard utility not available. Secret: $secret" - end - else - echo "Secret not found: $argv[1]" - end - end - - # Generate and copy a random password - function bw-generate - set length (or $argv[1] 20) - if type -q bw - set password (bw generate --length "$length") - if type -q xclip - echo "$password" | xclip -selection clipboard - echo "Generated password copied to clipboard" - else if type -q pbcopy - echo "$password" | pbcopy - echo "Generated password copied to clipboard" - else - echo "Generated password: $password" - end - end - end - - # Template helper: get secret for use in chezmoi templates - function bw-template-helper - set item_name $argv[1] - set field (or $argv[2] "password") - - if not type -q bw - echo "BW_NOT_AVAILABLE" - return 0 - end - - if not bw-get-secret "$item_name" "$field" ^ /dev/null - echo "BW_SECRET_NOT_FOUND" - return 0 - end - end -end \ No newline at end of file diff --git a/configs/nvim/lua/plugins/lsp.lua b/configs/nvim/lua/plugins/lsp.lua index 3b29787..406c7ce 100644 --- a/configs/nvim/lua/plugins/lsp.lua +++ b/configs/nvim/lua/plugins/lsp.lua @@ -11,7 +11,6 @@ return { }, formatters_by_ft = { lua = { "stylua" }, - fish = { "fish_indent" }, sh = { "shfmt" }, nix = { "nixfmt" }, gleam = { "gleam" }, diff --git a/configs/zellij/layouts/ide.kdl b/configs/zellij/layouts/ide.kdl index 54c0482..459ed1b 100644 --- a/configs/zellij/layouts/ide.kdl +++ b/configs/zellij/layouts/ide.kdl @@ -5,7 +5,7 @@ layout { split_direction "vertical" pane size="80%" { // stacked true - pane borderless=true command="fish" focus=true { + pane borderless=true command="zsh" focus=true { // The ide.sh script runs helix or nvim depending on $EDITOR, and once closed, closes the tab. args "/home/mar/.config/zellij/scripts/ide.fish" } diff --git a/configs/zshrc-append b/configs/zshrc-append index 5b17a9d..74302f0 100644 --- a/configs/zshrc-append +++ b/configs/zshrc-append @@ -35,7 +35,6 @@ _zap() { # Dynamically tell user of flakes. if [[ -f flake.nix ]] && command -v nix >/dev/null 2>&1 && [[ -z "$IN_NIX_SHELL" ]] && [[ ! -f .envrc ]]; then echo -e "\n\nā„ļø\tFound flake.nix, run 'create-envrc' to create a .envrc file here to load this flake automatically." - echo -e "\tOr alternatively, run 'dev' to open Fish in a nix develop shell." fi else eza -a --icons @@ -51,33 +50,12 @@ _zap_on_cd() { autoload -Uz add-zsh-hook add-zsh-hook chpwd _zap_on_cd -# Alias function: dev -dev() { - if [[ -n "$IN_NIX_SHELL" ]]; then - echo "āš ļø Already inside Nix shell!" - return 0 - fi - - if [[ -f .envrc ]]; then - echo "āš ļø .envrc found, direnv will be used." - direnv allow - return 0 - fi - - if [[ -f flake.nix ]] && command -v nix >/dev/null 2>&1; then - nix develop --set-env-var SHELL "$SHELL" -c "$SHELL" - elif ! command -v nix >/dev/null 2>&1; then - echo "󱄅 Nix is not installed!" - else - echo "āŒ No Flake.nix file in this directory" - fi -} - # Function: create-envrc function create-envrc() { if [ -e .envrc ] then echo "āš ļø .envrc already here, can't safely insert." + direnv reload return 0 fi @@ -108,7 +86,7 @@ function create-envrc() { echo "if nix flake show &> /dev/null; then use flake - fi" >./.envrc +fi" >./.envrc direnv allow } diff --git a/home/home.nix b/home/home.nix index 1d5f5a9..eae0d46 100644 --- a/home/home.nix +++ b/home/home.nix @@ -10,7 +10,7 @@ ./modules/development.nix ./modules/fonts.nix ./modules/games.nix - ./modules/gnome.nix + ./modules/kde.nix ./modules/librewolf.nix ./modules/niri.nix ./modules/shell.nix diff --git a/home/host-specific/Fennekin.nix b/home/host-specific/Fennekin.nix index b8f1384..b1dedb7 100644 --- a/home/host-specific/Fennekin.nix +++ b/home/host-specific/Fennekin.nix @@ -3,6 +3,7 @@ }: { imports = [ + ./modules/gnome.nix ./modules/touchscreen.nix ./modules/conversation.nix ./modules/music-streaming.nix diff --git a/home/host-specific/Samurott.nix b/home/host-specific/Samurott.nix index d50dfaa..37545b4 100644 --- a/home/host-specific/Samurott.nix +++ b/home/host-specific/Samurott.nix @@ -8,7 +8,6 @@ ./modules/conversation.nix ./modules/music-streaming.nix ./modules/school.nix - ./modules/kde.nix ]; home.packages = with pkgs; [ wineWow64Packages.stable diff --git a/home/host-specific/modules/conversation.nix b/home/host-specific/modules/conversation.nix index 8cb479b..baf2038 100644 --- a/home/host-specific/modules/conversation.nix +++ b/home/host-specific/modules/conversation.nix @@ -2,7 +2,7 @@ { home.packages = with pkgs; [ - fluffychat + cinny-desktop # ... unbridged signal again after the people decided I should signal-desktop ]; diff --git a/home/modules/gnome.nix b/home/host-specific/modules/gnome.nix similarity index 99% rename from home/modules/gnome.nix rename to home/host-specific/modules/gnome.nix index d743946..7eb09d1 100644 --- a/home/modules/gnome.nix +++ b/home/host-specific/modules/gnome.nix @@ -26,7 +26,7 @@ "vivaldi-stable.desktop" "org.wezfurlong.wezterm.desktop" "obsidian.desktop" - "Fluffychat.desktop" + "Cinny.desktop" ] ++ ( if hostname == "Fennekin" then diff --git a/home/modules/development.nix b/home/modules/development.nix index 7b93122..17cd309 100644 --- a/home/modules/development.nix +++ b/home/modules/development.nix @@ -11,7 +11,6 @@ programs.mise = { enable = false; enableZshIntegration = false; - enableFishIntegration = false; }; home.packages = with pkgs; [ # Mise is being faded out in favor of just due to growing friction between me and Mise's style diff --git a/home/modules/development/zed.nix b/home/modules/development/zed.nix index 2fb461a..6c3b939 100644 --- a/home/modules/development/zed.nix +++ b/home/modules/development/zed.nix @@ -14,7 +14,6 @@ "gleam" "zed-just" "discord-presence" - "fish" "kdl" ]; extraPackages = with pkgs; [ diff --git a/home/host-specific/modules/kde.nix b/home/modules/kde.nix similarity index 81% rename from home/host-specific/modules/kde.nix rename to home/modules/kde.nix index 0289e74..6c24be2 100644 --- a/home/host-specific/modules/kde.nix +++ b/home/modules/kde.nix @@ -26,18 +26,19 @@ programs.plasma = { enable = true; overrideConfig = true; - kscreenlocker.appearance.wallpaper = "/home/mar/.local/share/wallpapers/aesthetic-wallpapers/images/pink-clouds.png"; + kscreenlocker.appearance.wallpaper = "/home/mar/.local/share/wallpapers/current_wallpaper.png"; workspace = { clickItemTo = "select"; lookAndFeel = "org.kde.breeze.desktop"; colorScheme = "BreezeLight"; cursor.theme = "Layan-cursors"; iconTheme = "breeze"; - wallpaper = "/home/mar/.local/share/wallpapers/aesthetic-wallpapers/images/pink-clouds.png"; + wallpaper = "/home/mar/.local/share/wallpapers/current_wallpaper.png"; }; configFile.kdeglobals.General.AccentColor = "245,194,231"; configFile.kdeglobals.General.LastUsedCustomAccentColor = "245,194,231"; + # Get touchpad names by running cat /proc/bus/input/devices input.touchpads = [ # Fennekin's touchpad { @@ -52,6 +53,20 @@ tapToClick = true; vendorId = "04f3"; } + # Ponyta's touchpad + { + disableWhileTyping = false; + enable = true; + leftHanded = false; + middleButtonEmulation = true; + name = "ASUE1306:00 04F3:3284 Touchpad"; + naturalScroll = true; + pointerSpeed = 0; + productId = "3284"; + tapToClick = true; + vendorId = "04f3"; + } + ]; panels = [ @@ -70,7 +85,7 @@ "applications:vivaldi-stable.desktop" "applications:org.wezfurlong.wezterm.desktop" "applications:obsidian.desktop" - "applications:Fluffychat.desktop" + "applications:Cinny.desktop" ] ++ ( if hostname == "Fennekin" then diff --git a/home/modules/niri.nix b/home/modules/niri.nix index 4b5c63e..6bca46c 100644 --- a/home/modules/niri.nix +++ b/home/modules/niri.nix @@ -27,11 +27,8 @@ btop hyprlock libnotify - xwayland-satellite wireplumber brightnessctl - xclip - wl-clipboard cliphist playerctl killall @@ -272,6 +269,7 @@ { matches = [ { app-id = "app.cinny.in"; } + { app-id = "cinny"; } { app-id = "discord"; } { app-id = "pliiebkcmokkgndfalahlmimanmbjlab"; } { app-id = "org.kde.kdeconnect.app"; } diff --git a/home/modules/shell.nix b/home/modules/shell.nix index ed29ea0..cd80b70 100644 --- a/home/modules/shell.nix +++ b/home/modules/shell.nix @@ -5,9 +5,6 @@ ./shell/kc.nix ./shell/zsh.nix ]; - programs.fish = { - enable = true; - }; programs.direnv = { silent = true; enable = true; @@ -39,10 +36,6 @@ source = ../../configs/ssh-config; }; - xdg.configFile."fish" = { - source = ../../configs/fish; - recursive = true; - }; xdg.configFile."zellij" = { source = ../../configs/zellij; recursive = true; @@ -59,13 +52,7 @@ hyfetch macchina zellij - fish - fishPlugins.done - fishPlugins.fzf-fish - fishPlugins.forgit - fishPlugins.hydro fzf - fishPlugins.grc xsel jq ]; diff --git a/hosts/Fennekin/configuration.nix b/hosts/Fennekin/configuration.nix index 1c9dbbd..f8f61c6 100644 --- a/hosts/Fennekin/configuration.nix +++ b/hosts/Fennekin/configuration.nix @@ -82,6 +82,8 @@ # Enable touchpad support (enabled default in most desktopManager). # services.xserver.libinput.enable = true; + services.desktopManager.gnome.enable = true; + # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ diff --git a/hosts/all-hosts.nix b/hosts/all-hosts.nix index 901b6cc..36ba455 100644 --- a/hosts/all-hosts.nix +++ b/hosts/all-hosts.nix @@ -60,6 +60,20 @@ podman-compose podman-tui polkit_gnome + wayland-utils + wl-clipboard + xclip + xwayland-satellite + vlc + + # KDE Utilities + kdePackages.kcalc + kdePackages.kcharselect + kdePackages.kclock + kdePackages.kcolorchooser + kdePackages.ksystemlog + kdePackages.isoimagewriter + kdePackages.partitionmanager ]; programs.nix-ld.enable = true; @@ -80,8 +94,17 @@ # Enable the GNOME Desktop Environment, Niri and Cosmic. I like to be able to switch whenever. services.displayManager.cosmic-greeter.enable = true; # services.displayManager.gdm.enable = true; - services.desktopManager.gnome.enable = true; - programs.ssh.askPassword = lib.mkForce "${pkgs.gnome-themes-extra}/libexec/seahorse/ssh-askpass"; + # programs.ssh.askPassword = lib.mkForce "${pkgs.gnome-themes-extra}/libexec/seahorse/ssh-askpass"; + services.desktopManager.plasma6.enable = true; + environment.plasma6.excludePackages = with pkgs; [ + kdePackages.elisa # We got strawberry + kdePackages.kdepim-runtime + kdePackages.konversation # IRC client + kdePackages.kpat # Solitaire + kdePackages.ksudoku + kdePackages.ktorrent + ]; + programs.niri.enable = true; services.gnome.gnome-keyring.enable = true; security.pam.services.mar.enableGnomeKeyring = true; -- 2.51.2