diff options
| author | adikro <adikro@disroot.org> | 2026-03-17 23:25:22 +0100 |
|---|---|---|
| committer | adikro <adikro@disroot.org> | 2026-03-17 23:25:22 +0100 |
| commit | e7549665587b1e4a11225bce0c70ff74fe171e5f (patch) | |
| tree | f502cebd865ca728ede83c8fb30e30bbb44f67ea | |
| parent | 2e7f564763826013eeff22ecfce99c462829e2ec (diff) | |
some age key shenanigans
| -rw-r--r-- | .sops.yaml | 2 | ||||
| -rw-r--r-- | flake.lock | 90 | ||||
| -rw-r--r-- | hm/dotfiles/fastfetch/config.jsonc | 0 | ||||
| -rw-r--r-- | hm/dotfiles/fsel/config.toml | 0 | ||||
| -rw-r--r-- | hm/dotfiles/mako/config | 0 | ||||
| -rw-r--r-- | hm/dotfiles/otter/config.toml | 0 | ||||
| -rw-r--r-- | hm/dotfiles/waybar/config.jsonc | 0 | ||||
| -rw-r--r-- | hm/dotfiles/waybar/style.css | 0 | ||||
| -rw-r--r-- | hm/env/fsel.nix | 2 | ||||
| -rw-r--r-- | hm/env/mako.nix | 6 | ||||
| -rw-r--r-- | hm/env/otter.nix | 175 | ||||
| -rw-r--r-- | hm/env/waybar.nix | 12 | ||||
| -rw-r--r-- | hm/shell/cli.nix | 4 | ||||
| -rw-r--r-- | hm/soft/librewolf/browser.nix (renamed from hm/soft/browser.nix) | 5 | ||||
| -rw-r--r-- | hm/soft/librewolf/extensions/keepass-tusk.nix | 20 | ||||
| -rw-r--r-- | hm/soft/librewolf/extensions/popup-blocker.nix | 20 | ||||
| -rw-r--r-- | hm/soft/librewolf/extensions/user-agent-switcher.nix | 20 | ||||
| -rw-r--r-- | hm/soft/soft.nix | 2 | ||||
| -rw-r--r-- | os/core/security.nix | 2 | ||||
| -rw-r--r-- | os/core/ssh.nix | 8 | ||||
| -rw-r--r-- | os/srv/gaming.nix | 2 | ||||
| -rw-r--r-- | os/srv/kdeconnect.nix | 8 | ||||
| -rw-r--r-- | os/srv/sops.nix | 1 | ||||
| -rw-r--r-- | secrets.yaml | 79 |
24 files changed, 187 insertions, 271 deletions
@@ -1,5 +1,6 @@ keys: - &admin_gpg EF69F2FB25C8B5A66918EA91A38ACEAB9656CD94 + - &admin_age age1g9xlgzxxvgfgq6a05jxy2e7zf8t4qgw6wjpjmvyhvzlnu8fmye6s8qx702 - &host_szpont age1s39d4mdrjhkf8cy8eea02p836r7s875fj8f7w3z4ld2stmaac49qd075ww - &host_thinkpad age12htxy05mlkaqx7q6m5wufkqnnvhmhe4nfsr5ljlwkdk0u59f7ujq7537fw - &host_pendrive age1sx8ut0arwlrp7n7qvlaele8mq93pyvzc0ddetlk47cnyx935gcusdceq9q @@ -9,6 +10,7 @@ creation_rules: - path_regex: ^secrets\.yaml$ key_groups: - age: + - *admin_age - *host_szpont - *host_thinkpad - *host_pendrive @@ -275,11 +275,11 @@ ] }, "locked": { - "lastModified": 1773608492, - "narHash": "sha256-QZteyExJYSQzgxqdsesDPbQgjctGG7iKV/6ooyQPITk=", + "lastModified": 1773681856, + "narHash": "sha256-+bRqxoFCJFO9ZTFhcCkzNXbDT3b8AEk88fyjB7Is6eo=", "owner": "nix-community", "repo": "home-manager", - "rev": "9a40ec3b78fc688d0908485887d355caa5666d18", + "rev": "57d5560ee92a424fb71fde800acd6ed2c725dfce", "type": "github" }, "original": { @@ -375,11 +375,11 @@ ] }, "locked": { - "lastModified": 1773619513, - "narHash": "sha256-2xCVm8ajE9pNngv489dPKOUa5P0tlmJRwgVPjhy7c8w=", + "lastModified": 1773705884, + "narHash": "sha256-2atzXVl7CB+46HcuFRe3cUleEJdn2KoUdVOPQHyZBpg=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "07227cc79efb9c1744ec99d51f98c7a3584a62d2", + "rev": "3c143994a616ebc45c69dfa0487e171b7b5c0da6", "type": "github" }, "original": { @@ -391,11 +391,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1773615769, - "narHash": "sha256-qU71k2BTckpJDHpjxaU4aQwl14+iApnAycq+IJDTmO0=", + "lastModified": 1773702732, + "narHash": "sha256-1Oi7ygsg3ExZGMF4/VBVTDJMz27uM14kSwx7EUkte6Q=", "owner": "neovim", "repo": "neovim", - "rev": "16f7440cc7b59b7e5c79f593fedc117d2d16d7dd", + "rev": "6edae880528b7a1494a7610b07e4415d68c463ff", "type": "github" }, "original": { @@ -416,11 +416,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1773637356, - "narHash": "sha256-E9PxnKdAkszK0Xhc3bBNnMeE8QMQcHwQEOkVHGGnrKM=", + "lastModified": 1773725889, + "narHash": "sha256-htkVJrtaWJS7wQSXg8d26RR6jF3Iab2bYTNfvTgv05Q=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "41bdfa1d3f9da80098b410fa34bc7230a6efeb99", + "rev": "9987baf8f935a1b3b2aa89a44c13b3239ecc640e", "type": "github" }, "original": { @@ -472,11 +472,11 @@ "nixpkgs-nixcord": "nixpkgs-nixcord" }, "locked": { - "lastModified": 1773597570, - "narHash": "sha256-A6KsirR9kxR1wVFTr8aagk5vUT3rvKTf79Qht6YkxUA=", + "lastModified": 1773765198, + "narHash": "sha256-mcfmUMRCkp6lhF+GLyjguGFwE/S0S2aEzyr2COyOMKc=", "owner": "KaylorBen", "repo": "nixcord", - "rev": "1cc0ddb766e459b7187e6aeb8b2e046d37361dc4", + "rev": "5aa208b51960bb3bbec3ff1fed8bbd8a8de28995", "type": "github" }, "original": { @@ -565,11 +565,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1773524153, - "narHash": "sha256-Jms57zzlFf64ayKzzBWSE2SGvJmK+NGt8Gli71d9kmY=", + "lastModified": 1773705440, + "narHash": "sha256-xB30bbAp0e7ogSEYyc126mAJMt4FRFh8wtm6ADE1xuM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e9f278faa1d0c2fc835bd331d4666b59b505a410", + "rev": "48652e9d5aea46e555b3df87354280d4f29cd3a3", "type": "github" }, "original": { @@ -581,11 +581,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1773520392, - "narHash": "sha256-Ra3l8zI7AYwaCxXcU4An8jAC1hhz/TEleXboJhWaBwY=", + "lastModified": 1773646010, + "narHash": "sha256-iYrs97hS7p5u4lQzuNWzuALGIOdkPXvjz7bviiBjUu8=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "f59e980846fe86cd831899cd032fdbd1d6054086", + "rev": "5b2c2d84341b2afb5647081c1386a80d7a8d8605", "type": "github" }, "original": { @@ -597,11 +597,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1773579282, - "narHash": "sha256-LWvZj9Bvm1EuoO6zbX4yjZebwnZNfeTbmCJGS7RGQ3Y=", + "lastModified": 1773646010, + "narHash": "sha256-iYrs97hS7p5u4lQzuNWzuALGIOdkPXvjz7bviiBjUu8=", "owner": "nixos", "repo": "nixpkgs", - "rev": "5a88de74db0e948139be4b46f9a94d64aa11391c", + "rev": "5b2c2d84341b2afb5647081c1386a80d7a8d8605", "type": "github" }, "original": { @@ -655,11 +655,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1773657337, - "narHash": "sha256-cDwlYs5dKNCZ7W/w4qmCJOQz9VJr95n4bTA2Qhivq48=", + "lastModified": 1773781775, + "narHash": "sha256-LxeZ+ew3WWRhrHpSIjfkQtGX1aFLEVL6DmGJxfpVyzQ=", "owner": "nix-community", "repo": "NUR", - "rev": "4f42bc73dd7d7d99802efd15fb4acabc195674b7", + "rev": "7cdce0850493f5c01cfe2443c1b5965a75e33941", "type": "github" }, "original": { @@ -680,11 +680,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1773579076, - "narHash": "sha256-GRuK5zh0Z68YXIoTpHQW2CFdpZRhGJRxpYh4vPOqjt4=", + "lastModified": 1773777664, + "narHash": "sha256-HOqYvG6kyLyBhh6wpGz2z0+JID/mkGgjNa9c1nPJ4k8=", "owner": "NotAShelf", "repo": "nvf", - "rev": "baf207654ca613173e9d4b5255dba52f8c0c5577", + "rev": "ef0e10f591402cb9fad3e4f0faa8f66162655c04", "type": "github" }, "original": { @@ -703,11 +703,11 @@ "systems": "systems_4" }, "locked": { - "lastModified": 1773640372, - "narHash": "sha256-nGFsFIT7nBEWuSbzL9jIxsF1DUUQ/D3/FwlZq8F2pHM=", + "lastModified": 1773647611, + "narHash": "sha256-Dkb6ft4LNHiYpmzJ9O90Qg3Jv2VThtzlC88bIAgVTWM=", "owner": "kuokuo123", "repo": "otter-launcher", - "rev": "872714f3f27a83ef723b2748bdfda4f80d97eaff", + "rev": "5aea41193a8da76c4720ec11059d56eb2fd86de1", "type": "github" }, "original": { @@ -801,11 +801,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1773640901, - "narHash": "sha256-lggJVTCrd/zyj4VDRs28GWYujfPlPby4QDKfXsIfeGQ=", + "lastModified": 1773664537, + "narHash": "sha256-w2gLQV8jKZVX7yXqOhMJaKJ2kujYfrL99rNhjKST7ac=", "owner": "gabm", "repo": "Satty", - "rev": "855f013c0f48e88f90887f17aaef97e950165e1a", + "rev": "e2d8880745df2491010ce1b897d4a5dbdf59bbba", "type": "github" }, "original": { @@ -821,11 +821,11 @@ ] }, "locked": { - "lastModified": 1773550941, - "narHash": "sha256-wa/++bL2QeMUreNFBZEWluQfOYB0MnQIeGNMuaX9sfs=", + "lastModified": 1773698643, + "narHash": "sha256-VCiDjE8kNs8uCAK73Ezk1r3fFuc4JepvW07YFqaN968=", "owner": "Mic92", "repo": "sops-nix", - "rev": "c469b6885f0dcd5c7c56bd935a0f08dbcd9e79e1", + "rev": "8237de83e8200d16fe0c4467b02a1c608ff28044", "type": "github" }, "original": { @@ -953,11 +953,11 @@ ] }, "locked": { - "lastModified": 1773004900, - "narHash": "sha256-LuDrFLdszUdnSlDdwQjRwLQiQZUPkiBuI+Y2UlRmjfg=", + "lastModified": 1773698763, + "narHash": "sha256-vSnYwbTuhCmI1TP+bs1uGRPm6fB7LNcDMxBDaCS6vQc=", "owner": "Alexays", "repo": "Waybar", - "rev": "100349a5c7f45a032712c1ec85696164d44e5430", + "rev": "1019c9d2fe9432e7151cb336ab6b3d523d8cf123", "type": "github" }, "original": { @@ -1008,11 +1008,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1773638943, - "narHash": "sha256-TgGuoRB28Q7IeHupfLZ/NFeztWgXS8H0HkPMy5Neb4c=", + "lastModified": 1773711706, + "narHash": "sha256-hUrayDJA+uUY4zAPWTUGMep5Qaf59dfRWovwaGqXy40=", "owner": "sxyazi", "repo": "yazi", - "rev": "de01a56ac5a566ecb4804659a5ecb413a9e3734f", + "rev": "da96795303f608a1e7610362043ae951d1c2cc06", "type": "github" }, "original": { diff --git a/hm/dotfiles/fastfetch/config.jsonc b/hm/dotfiles/fastfetch/config.jsonc new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/hm/dotfiles/fastfetch/config.jsonc diff --git a/hm/dotfiles/fsel/config.toml b/hm/dotfiles/fsel/config.toml new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/hm/dotfiles/fsel/config.toml diff --git a/hm/dotfiles/mako/config b/hm/dotfiles/mako/config new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/hm/dotfiles/mako/config diff --git a/hm/dotfiles/otter/config.toml b/hm/dotfiles/otter/config.toml new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/hm/dotfiles/otter/config.toml diff --git a/hm/dotfiles/waybar/config.jsonc b/hm/dotfiles/waybar/config.jsonc new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/hm/dotfiles/waybar/config.jsonc diff --git a/hm/dotfiles/waybar/style.css b/hm/dotfiles/waybar/style.css new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/hm/dotfiles/waybar/style.css diff --git a/hm/env/fsel.nix b/hm/env/fsel.nix index faa7f24..636cb3c 100644 --- a/hm/env/fsel.nix +++ b/hm/env/fsel.nix @@ -12,5 +12,7 @@ in options.hm.env.fsel.enable = lib.mkEnableOption "enables fsel"; config = lib.mkIf cfg.enable { home.packages = [ inputs.fsel.packages.${pkgs.stdenv.hostPlatform.system}.default ]; + xdg.configFile."fsel/config.toml".source = + config.lib.file.mkOutOfStoreSymlink "../dotfiles/fsel/config.toml"; }; } diff --git a/hm/env/mako.nix b/hm/env/mako.nix index 3f9e3ef..3adc5d7 100644 --- a/hm/env/mako.nix +++ b/hm/env/mako.nix @@ -7,9 +7,9 @@ in config = lib.mkIf cfg.enable { services.mako = { enable = true; - settings = { - - }; }; + xdg.configFile."mako/config".source = lib.mkForce ( + config.lib.file.mkOutOfStoreSymlink "../dotfiles/mako/config" + ); }; } diff --git a/hm/env/otter.nix b/hm/env/otter.nix index b7324e0..966bbb7 100644 --- a/hm/env/otter.nix +++ b/hm/env/otter.nix @@ -14,178 +14,9 @@ in config = lib.mkIf cfg.enable { programs.otter-launcher = { enable = true; - # settings = { - # interface = { - # suggestion_mode = "list"; - # }; - # }; - settingsExtra = '' - [general] - default_module = "gg" # module to run when no prefix is matched - empty_module = "app" # run with an empty prompt - exec_cmd = "sh -c" # exec command of your shell - # for example: "bach -c" for bash; "zsh -c" for zsh; also accept wm commands like "hyprctl dispatch exec" - vi_mode = false # set true to use vi keybinds, false emacs keybinds - esc_to_abort = true # useful for vi users - cheatsheet_entry = "?" # when prompted, will show a list of configured modules - cheatsheet_viewer = "less -R; clear" # command to show cheatsheet; through piping stdout - clear_screen_after_execution = false - loop_mode = false # don't quit after executing a module, useful with scratchpads; stderr is hidden in loop mode - external_editor = "vi" # if set, press ctrl+x ctrl+ee (or v in vi normal mode) to edit prompt in the specified program - delay_startup = 0 # sometimes the otter runs too fast even before the terminal window is ready; this slows it down by milliseconds; useful when chafa image is skewed - #callback = "" # if set, will run after module execution; for example, calling swaymsg to adjust window size - - - # ANSI color codes are allowed. However, \x1b should be replaced with \u001B, because the rust toml crate cannot read \x as an escaped character - [interface] - # use three quotes to write longer codes - header = """ - \u001B[34;1m$USER@$(printf $HOSTNAME)\u001B[0m \u001B[31m\u001B[0m $(mpstat | awk 'FNR ==4 {print $4}') - """ - header_cmd = "" # run a command and print stdout above the header - header_cmd_trimmed_lines = 0 # remove trailing lines from header_cmd output, in case of some programs appending excessive empty lines - place_holder = "otterly awesome" # at the input field - suggestion_mode = "list" # available options: list, hint - separator = " \u001B[90mmodules ────────────────" # add a line between intput field and suggestion list; only effective in list mode - footer = "" # add a line after suggestion list - suggestion_lines = 3 # 0 to disable suggestions and tab completion - list_prefix = " " - selection_prefix = "\u001B[31;1m▌ " - prefix_padding = 3 # format prefixes to have a uniformed width - default_module_message = " \u001B[33msearch\u001B[0m the internet" # shown when the default module is in use - empty_module_message = "" # shown when the empty module is in use - customized_list_order = false # false to list modules alphabetically; true to list as per the configured order in the below [[modules]] section - indicator_with_arg_module = "" # the sign showing whether a module should run with an argument - indicator_no_arg_module = "" - # below color options affect all modules; per-module coloring can be configured using ansi codes individually - prefix_color = "\u001B[33m" - description_color = "\u001B[39m" - place_holder_color = "\u001B[30m" - hint_color = "\u001B[30m" # suggestion color in hint mode - # move the interface rightward or downward - move_interface_right = 16 - move_interface_down = 1 - - - # overlay is a floating layer that can be printed with stdout and moved around; useful for integrating chafa images - [overlay] - overlay_cmd = """ - """ - overlay_height = 0 - - - # modules are defined as followed - [[modules]] - description = "google search" - prefix = "gg" - cmd = "xdg-open https://www.google.com/search?q='{}'" - with_argument = true # if true, {} in cmd will be replaced with user input. if not explicitly set, taken as false. - url_encode = true # should be true when calling webpages; this ensures special characters in url being readable to browsers; taken as false if not explicitly set - unbind_proc = true # run cmd in a forked shell as opposed to as a child process (simply by prepending setsid -f to the configured cmd); useful for launching gui programs; taken as false if not explicitly set; try wm's exec command for unbinding if this option goes wrong (like swaymsg exec) - - # fzf is needed to run below functions - [[modules]] - description = "desktop programs" - prefix = "app" - cmd = """ - desktop_file() { - find /usr/share/applications -name "*.desktop" 2>/dev/null - find /usr/local/share/applications -name "*.desktop" 2>/dev/null - find "$HOME/.local/share/applications" -name "*.desktop" 2>/dev/null - find /var/lib/flatpak/exports/share/applications -name "*.desktop" 2>/dev/null - find "$HOME/.local/share/flatpak/exports/share/applications" -name "*.desktop" 2>/dev/null - } - selected="$(desktop_file | awk -F/ '{name=$NF; sub(/\\.desktop$/, "", name); print name}' | sort -k1,1 | cut -f2- | fzf --reverse --padding 1,3 --info-command 'echo -e " desktop apps ($FZF_POS/$FZF_TOTAL_COUNT)"' --cycle --gutter " " --pointer " ▌" --color "bg+:-1,pointer:1,info:8,separator:8,scrollbar:0" --prompt ' ' -m -d / --with-nth -1 )" - [ -z "$selected" ] && exit - echo "$selected" | while read -r line ; do setsid -f gtk-launch "$(basename $line)"; done - """ - - [[modules]] - description = "power menu (fzf)" - prefix = "po" - cmd = """ - function power { - if [[ -n $1 ]]; then - case $1 in - "logout") session=`loginctl session-status | head -n 1 | awk '{print $1}'`; loginctl terminate-session $session ;; - "suspend") systemctl suspend ;; - "hibernate") systemctl hibernate ;; - "reboot") systemctl reboot ;; - "shutdown") systemctl poweroff ;; - esac fi } - power $(echo -e 'reboot\nshutdown\nlogout\nsuspend\nhibernate' | fzf --reverse --padding 1,2 --info-command 'printf " power menu ($FZF_POS/$FZF_TOTAL_COUNT)"' --cycle --gutter " " --pointer " ▌" --color "bg+:-1,pointer:1,info:8,separator:8,scrollbar:0" --prompt ' ' | tail -1) - """ - - [[modules]] - description = "run commands" - prefix = "sh" - cmd = """ - $(printf $TERM | sed 's/xterm-//g') -e sh -c "{}" - """ - with_argument = true - unbind_proc = true - - [[modules]] - description = "search archwiki" - prefix = "aw" - cmd = "xdg-open https://wiki.archlinux.org/index.php?search='{}'" - with_argument = true - url_encode = true - unbind_proc = true - - [[modules]] - description = "search packages" - prefix = "pac" - cmd = "xdg-open https://archlinux.org/packages/?q='{}'" - with_argument = true - url_encode = true - unbind_proc = true - - [[modules]] - description = "search the AUR" - prefix = "aur" - cmd = "xdg-open https://aur.archlinux.org/packages?K='{}'" - with_argument = true - url_encode = true - unbind_proc = true - - [[modules]] - description = "cambridge dict" - prefix = "dc" - cmd = "xdg-open 'https://dictionary.cambridge.org/dictionary/english/{}'" - with_argument = true - url_encode = true - unbind_proc = true - - [[modules]] - description = "open files (fzf)" - prefix = "fo" - cmd = """ - find $HOME -type f -not -path '*/.cache/*' 2>/dev/null | fzf --reverse --padding 1,3 --info-command 'printf " files ($FZF_POS/$FZF_TOTAL_COUNT)"' --cycle --gutter ' ' --pointer ' ▌' --color 'bg+:-1,pointer:1,info:8,separator:8,scrollbar:0' --prompt ' ' | setsid -f xargs -r -I [] xdg-open '[]' - """ - - [[modules]] - description = "open dirs (yazi)" - prefix = "yz" - cmd = """ - find $HOME -type d -not -path '*/.cache/*' 2>/dev/null | fzf --reverse --padding 1,3 --info-command 'printf " directories ($FZF_POS/$FZF_TOTAL_COUNT)"' --cycle --gutter ' ' --pointer ' ▌' --color 'bg+:-1,pointer:1,info:8,separator:8,scrollbar:0' --prompt ' ' | xargs -r -I [] setsid -f "$(echo $TERM | sed 's/xterm-//g')" -e yazi '[]' - """ - - [[modules]] - description = "ChatGPT prompt" - prefix = "gpt" - with_argument = true - unbind_proc = true - cmd = """ - function chat { - encoded="$(jq -sRr @uri)" - exec xdg-open "https://chat.openai.com/?prompt=$encoded" - } - chat <<'EOF' - {} - EOF - """ - ''; }; + xdg.configFile."otter-launcher/config.toml".source = lib.mkForce ( + config.lib.file.mkOutOfStoreSymlink "../dotfiles/otter/config.toml" + ); }; } diff --git a/hm/env/waybar.nix b/hm/env/waybar.nix index b75cc91..5b6762e 100644 --- a/hm/env/waybar.nix +++ b/hm/env/waybar.nix @@ -2,9 +2,11 @@ config, lib, ... -}: let +}: +let cfg = config.hm.env.waybar; -in { +in +{ options.hm.env.waybar.enable = lib.mkEnableOption "enables waybar"; config = lib.mkIf cfg.enable { programs.waybar = { @@ -14,5 +16,11 @@ in { target = "graphical-session.target"; }; }; + xdg.configFile."waybar/config.jsonc".source = lib.mkForce ( + config.lib.file.mkOutOfStoreSymlink "../dotfiles/waybar/config.jsonc" + ); + xdg.configFile."waybar/style.css".source = lib.mkForce ( + config.lib.file.mkOutOfStoreSymlink "../dotfiles/waybar/style.css" + ); }; } diff --git a/hm/shell/cli.nix b/hm/shell/cli.nix index 7011d4d..73db375 100644 --- a/hm/shell/cli.nix +++ b/hm/shell/cli.nix @@ -99,9 +99,10 @@ in "disk" "localip" "break" - "colors" + # "colors" ]; }; + # xdg.configFile."fastfetch/config.jsonc".source = config.lib.file.mkOutOfStoreSymlink "../dotfiles/fastfetch/config.jsonc"; }; programs.direnv = { enable = true; @@ -189,6 +190,7 @@ in }; home.packages = with pkgs; [ + entr sd choose doggo diff --git a/hm/soft/browser.nix b/hm/soft/librewolf/browser.nix index 25d1f07..b67d71f 100644 --- a/hm/soft/browser.nix +++ b/hm/soft/librewolf/browser.nix @@ -53,8 +53,9 @@ in extensions = { force = true; packages = with pkgs.nur.repos.rycee.firefox-addons; [ - ublock-origin - ff2mpv + (pkgs.callPackage ./extensions/keepass-tusk.nix { }) + (pkgs.callPackage ./extensions/popup-blocker.nix { }) + (pkgs.callPackage ./extensions/user-agent-switcher.nix { }) link-cleaner privacy-badger to-deepl diff --git a/hm/soft/librewolf/extensions/keepass-tusk.nix b/hm/soft/librewolf/extensions/keepass-tusk.nix new file mode 100644 index 0000000..e197cb9 --- /dev/null +++ b/hm/soft/librewolf/extensions/keepass-tusk.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "KeePass Tusk - Password Access and Autofill"; + version = "2024.8.20"; + + src = fetchurl { + url = "https://addons.mozilla.org/firefox/downloads/file/4340608/keepass_tusk-${version}.xpi"; + sha256 = "sha256-RaViUTzo+JOmgnUB1cr4cCb1AEI2QDiR0frxYCpi8oE="; + }; + + dontUnpack = true; + + addonId = "brandon@subdavis.com"; + + installPhase = '' + mkdir -p $out + cp $src $out/${addonId}.xpi + ''; +} diff --git a/hm/soft/librewolf/extensions/popup-blocker.nix b/hm/soft/librewolf/extensions/popup-blocker.nix new file mode 100644 index 0000000..f1fe451 --- /dev/null +++ b/hm/soft/librewolf/extensions/popup-blocker.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "Popup Blocker (strict)"; + version = "0.9.1"; + + src = fetchurl { + url = "https://addons.mozilla.org/firefox/downloads/file/4674849/popup_blocker-${version}.xpi"; + sha256 = "sha256-Zw9jUeP8r+FhMuK23Xwelb9NOXawqYs4pZx0oVbVLOs="; + }; + + dontUnpack = true; + + addonId = "{de22fd49-c9ab-4359-b722-b3febdc3a0b0}"; + + installPhase = '' + mkdir -p $out + cp $src $out/${addonId}.xpi + ''; +} diff --git a/hm/soft/librewolf/extensions/user-agent-switcher.nix b/hm/soft/librewolf/extensions/user-agent-switcher.nix new file mode 100644 index 0000000..5168ead --- /dev/null +++ b/hm/soft/librewolf/extensions/user-agent-switcher.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + pname = "User-Agent Switcher and Manager"; + version = "0.6.6"; + + src = fetchurl { + url = "https://addons.mozilla.org/firefox/downloads/file/4593736/user_agent_string_switcher-${version}.xpi"; + sha256 = "sha256-nB/uKb2JpyH3r412qZeqytAn1PKxQc2wQ+6QJ7iWdZk="; + }; + + dontUnpack = true; + + addonId = "{a6c4a591-f1b2-4f03-b3ff-767e5bedf4e7}"; + + installPhase = '' + mkdir -p $out + cp $src $out/${addonId}.xpi + ''; +} diff --git a/hm/soft/soft.nix b/hm/soft/soft.nix index f6a9a69..80a0c04 100644 --- a/hm/soft/soft.nix +++ b/hm/soft/soft.nix @@ -1,7 +1,7 @@ { ... }: { imports = [ - ./browser.nix + ./librewolf/browser.nix ./email.nix ./kdenlive.nix ./mangohud.nix diff --git a/os/core/security.nix b/os/core/security.nix index f0eadab..00bb48a 100644 --- a/os/core/security.nix +++ b/os/core/security.nix @@ -39,7 +39,7 @@ in environment.systemPackages = with pkgs; [ doas-sudo-shim veracrypt - bitwarden-desktop + # bitwarden-desktop keepassxc git-credential-keepassxc ]; diff --git a/os/core/ssh.nix b/os/core/ssh.nix index 3d1bedb..4f9b551 100644 --- a/os/core/ssh.nix +++ b/os/core/ssh.nix @@ -20,16 +20,18 @@ in }; }; + programs.ssh.startAgent = true; + services.gnome.gcr-ssh-agent.enable = false; + programs.gnupg.agent = { enable = true; - enableSSHSupport = true; - # settings.default-key = "1DCCDC4E78380113E9BBBE413C7DEF329223B701"; + enableSSHSupport = false; pinentryPackage = pkgs.pinentry-curses; }; users.users = { ${username}.openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID5/Mr4PLMDflZ+SoaYP9N3kRbkkh1qL5NLSgW6C7sAu adikro@disroot.org" + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC610CJfgc3yII7MpLVqzEzQGa8Tsm+dih+CTXHXTnv4 adikro@disroot.org" ]; }; }; diff --git a/os/srv/gaming.nix b/os/srv/gaming.nix index acfd754..e95cb93 100644 --- a/os/srv/gaming.nix +++ b/os/srv/gaming.nix @@ -47,7 +47,7 @@ in # --- EXTERNAL LAUNCHERS --- (lib.mkIf cfg.launchers.enable { environment.systemPackages = with pkgs; [ - heroic + # heroic (prismlauncher.override { additionalLibs = with pkgs; [ ocl-icd ]; jdks = with pkgs; [ javaPackages.compiler.temurin-bin.jdk-25 ]; diff --git a/os/srv/kdeconnect.nix b/os/srv/kdeconnect.nix index 01a0e4d..0b54f98 100644 --- a/os/srv/kdeconnect.nix +++ b/os/srv/kdeconnect.nix @@ -1,7 +1,6 @@ { config, lib, - username, pkgs, ... }: @@ -11,8 +10,9 @@ in { options.os.srv.kdeconnect.enable = lib.mkEnableOption "enables kde connect"; config = lib.mkIf cfg.enable { - environment.systemPackages = [ pkgs.kdePackages.dolphin ]; - programs.kdeconnect.enable = true; - home-manager.users.${username}.services.kdeconnect.enable = true; + programs.kdeconnect = { + enable = true; + package = pkgs.valent; + }; }; } diff --git a/os/srv/sops.nix b/os/srv/sops.nix index 36ab9ef..6fac789 100644 --- a/os/srv/sops.nix +++ b/os/srv/sops.nix @@ -37,7 +37,6 @@ in sops age ssh-to-age - gnupg ]; }; } diff --git a/secrets.yaml b/secrets.yaml index d4aae53..f75b028 100644 --- a/secrets.yaml +++ b/secrets.yaml @@ -11,63 +11,72 @@ syncthing: keepass: ENC[AES256_GCM,data:OLU0tYB9TTKZ5V1Mzj5FDE9YdCpj0ajJaoxzqd7HtTmaBqETjs7CjYriq7kCOgSEVBtwzek/NA1vetwuMQhI8Q==,iv:P9aBZCIbj23aOvuMBtAjAZ2L+0lUT5Xjk7XRikbc9u0=,tag:xnWUxctkKVTUOV0AtpnTug==,type:str] sops: age: + - recipient: age1g9xlgzxxvgfgq6a05jxy2e7zf8t4qgw6wjpjmvyhvzlnu8fmye6s8qx702 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrMXIvNzNpNVpzNHRCa2RZ + ejJuN1NqeWVJR0pYZHhlKy9IbVN3VnlReHc0CmxvME9jWHQ0U2FMaEtxSUhmSXBO + anV0UVlCUGpFU2Z0UHZORWd2V3lkaHcKLS0tIFN1dHVXSWpXU1FwWkVBSHpVR0xX + RDBCM0laREFMSEQwUnZBSG9WSXJnR1EKTX2Z37TvWke5GbMd/gg7xiJguqpEhQ// + KnOYXE+G187+MnmrvRHs0S/3ZemCpi+1EXesjRhrDnwDw4zuerp2gw== + -----END AGE ENCRYPTED FILE----- - recipient: age1s39d4mdrjhkf8cy8eea02p836r7s875fj8f7w3z4ld2stmaac49qd075ww enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIQ3BTak5UQ1hRVWJocStR - bThIMnVJeEVVUHRxV0x5TzJUL0puNFBpdFJZCmh0Uy9SNUxYQXZOS1FLRnVzWXNB - QXRnaUxKQlRRU1hoeWxMUXQxdFhTbkEKLS0tICtIMWlBbHI0U0VZVXJreUwzdHd6 - d3A4R1BpdFc2ckVDZWx6VjJHWUhoMEUKu2HgeHBQHTpdTlnL5VcYJqolVZ4CCjA1 - sBpBkR6wSzMVDeMdpW3sDP5MKNRedHzl/kQ+2YJcVUDgrLshV13CDg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtQjJlYlRmOXFPbW40SE5E + bGZYRU5jZUtlaktwMlNFNFlFeGxsdGREV2d3CmFOOHJ6OXpCR0tGc2d5NFBPc0E4 + UUxQa0F2d1VkZUE4WlZFNkRTb1R0Rm8KLS0tIGpLZmtVcEtXSUFqR083K0tBdVpW + WHVtaWNFZmE1WDNCeWJCRG5DazEyd2cKgNf3Bfi9fGlEg3Lm+3DrKfbqQZFQ/tF3 + p/mRaW/e8bs0DNLZ5aXOkqyvDj3ZcSc2HVO3/2IV36xCwKvE4dt0fA== -----END AGE ENCRYPTED FILE----- - recipient: age12htxy05mlkaqx7q6m5wufkqnnvhmhe4nfsr5ljlwkdk0u59f7ujq7537fw enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyOThFdGZTd0tZODBQVFRX - UUpjM1BPYis1SjczdDNEaFJTa0p6VUVBeFFNCmlEc1JXWTZpYythUm40YW03VmZp - VjhseFFxWlRuaG43YkgvWldRMWljVjAKLS0tIFN5OC91OUFpRWxUbHgxSzRHaEpu - VTd2MTNCQytycStYNVdSdUJHTlFvTWcKMDA7zD6lx/FzStRE74hAYTpt8B3BmCip - lin+lkJtquIF/1Je/dl16q+dV6OegLl84ODOm1txdvk9sf90vzGgzA== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzcm1iL0RqSzVreGVjM1Jn + cVBaNzMzNW1QbUQxS1RBekNGcUFwNFhua1FFCm92dlAxOENZQWxJSm5CY3pVVlds + MDczaWhtMFVYTy8rb0lTaTVvQUVUTE0KLS0tIE5OQXJVbUhrYk1vZnhFanJlMWJp + WmhsNW5yOUhJUzhWcTZaR1dpNWZPNzQKmqtetzxPXD1yQgYeTx9+2AC1vUcybQAY + 5wvHj3+3KKsmcbZNU2cjqNwGawBtNR6DGB1CzG3WrxQcw87mEeF4Lw== -----END AGE ENCRYPTED FILE----- - recipient: age1sx8ut0arwlrp7n7qvlaele8mq93pyvzc0ddetlk47cnyx935gcusdceq9q enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5ekV2dHRhU3lrTjJSTVNO - eXE0bDRaKzVFbjNtNkFVQW5TclJqcjUzTFJrClJXS0I4emZpV1V5ZzRrV3BWQURB - Ly8vK2tNWE5HbDVPRzVzN1dHdDNRUWsKLS0tIElFMldQZER4bmE2SllrbEhlR21k - MHlyaVhEanlWcjJDdTduS0M4ODF1TWsKV1ECI5a0sAWckrJ/96+wxHwcRHDaAz80 - jJNliK+BYiRyuI6EDG4fiKjFZkS/akI5Fqr8Fur15BvsXWUVw0Ifeg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnRzRYYVhzRWdoOVFsUlNS + WlpvWFQ0blpvT3pQWGxmS3o4VTFaZzZHclg0CkZ5TTYyRlh2SUYvR0lFS0Y5akVP + RCtVazFrbnJJMTlkQ0JHaUFGaW1FancKLS0tIHNFQjVGdVJ5T05MZ003aVFYYzBx + M0Q3aHkyQVl1U1pTelZvd3lsZ05aS0kKJPISkMgt80GfT3Hq7SYXO04gNAVdgd5x + XM4LZi9iQygvDoJc92f0XGartTKvyQ34dRSVz4DbPHGo3r9af1RZOA== -----END AGE ENCRYPTED FILE----- - recipient: age1m4u7n6mt5d3jv39lf4aedr9gqu3khl4sahuqx5n5h7v48gkyc9zqkp9qs8 enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxeExUZCtqcTZkMy9taUlk - OUIrOHZwaUpCd2xYTnlvUmlyUWZRSjVuZEJFCkJlUmU4WHp6d09DYkxyM0xBWmxu - M0prbUxKRkJlZmtiMjZ2SmpDQXNCNVEKLS0tIGdtZVptSjRNZ0ovUW9NMkpLSjZi - MW5ubSs3SFVTZHU0VnUrQTBaa0paL0kKGCV/0Kr3pCc/2v09yevtId7jBzexHOr1 - 1cEjtGw3IwUsrugbBtqR+KCTIt6bcShpdQLlpvPHymVU05j0PmFiBg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBIRXlWZFUrT1F6TkRLaUVJ + ODRUSWNNVHpERlF6K1E4OVhjcm9aemlZem13CnpmdDRJWktmR01VWDloQlZHdHZP + YmorUXJRUFVjblFqcDZyL2QrcE8vTWcKLS0tIEswK3BsbVpEYmtHeUovUG9QQWNr + UERYN1p6OTNuaVFyQXZ3ellWK2ZoKzAKFFUxlkWZm+O+X0JkV4Gi2N/vDMNXnmM5 + zgQTFmPjAMe5hKNHXk7smhKdEhRocb8IsQtTWIKlx0zJOfjllvquMw== -----END AGE ENCRYPTED FILE----- lastmodified: "2026-03-06T22:04:13Z" mac: ENC[AES256_GCM,data:LuJ93avw8+YwfEMo4jYaWuPR+FJHkJIuBNfXLm39aO/7z5YHzZt7Dg4V08IM1zhVdSBtIl/cw4PYBnp8/rKMpdx5XsmOGJ2l8i1JrQk1XckouQIWXodG4SoLBHxoCQ0vlnythlVptBlNK9yCDqynQs6xtZwO1nmOFSGPagsCDcw=,iv:V9RYOAVqgXA1zHTInFQKwixW0sO0CEGUo63SlCyoxeE=,tag:4BC8hAyVVKkSwpWdtfqJ0A==,type:str] pgp: - - created_at: "2026-03-10T19:47:54Z" + - created_at: "2026-03-17T21:13:34Z" enc: |- -----BEGIN PGP MESSAGE----- - hQIMA/mKtLqB941HAQ//RHeWedUuCTwBQjXk23XQllbhMp5Ak3lzzzCePQDwXNhW - OKQ7+IJ8E+rv+PhkGsNbYXbfGe9TNsEy+qG9kCAMeGenjf6zvbVnNTrLcn9LlDhn - lROTF0uuLvEDXR/FYGHRSOoSa4IiPzHit14Pmvvl7dhUIsL1g7VZ45FLyrVykYvo - WyFgcW83H+Ebz9c4c5t0sA26IzaN4DXgJZ5zT/39DofIox8+5uJP64EcVa5w5JLq - Lvz0RaPXuZfwc68Qk8s+rbVqb+sjmlCy437iSPCyk4gg9Ui570+tD3cWPu5fb0r0 - v0R44HgLVzQvheSigXlEH/iopQqI0WT1RpqyTE+93niWZrdQrM+J6UrbYq6WEhSu - KD9gVMoozMLrAXzcgsSyu2W2b1WAzecl3BZd4dCPH4ETCmaz7Zw6k8tquqe5Djb1 - M7Pck6buYunHijDrBW+zFhhCBrZdXs2goOy0DipQaLLaWuDYpPBWBTBJtzigp1TI - Na115kevY8I1oBHc3Zyhqk31pmNvk684VUfJV+GA3xPrY5lEMsT6tqC+DoGvcXwC - BaFzwFzQel9mFXgvMWe8U8LU031+Vlau1kL/mcCJCyXT1Up4LlbVvts4hsRECB/5 - yrTaEZlz7owX68/hBEfu/XxgpVv7FvsfCli24Jz9PicyOXhF2B2XaDBsk51Ro4jS - XgE/tjMTjTU4u0TSXexFUaNv5AhuEruAZ7J6GvC3I7CvoZQyYR8ryQMkbnQ6713A - cEFA8TkfBpqx4pXcXxqyHFX+cQ3v3X8vXL+CA2OB8S8zcmXWpnbLynNrmPVCkzU= - =gece + hQIMA/mKtLqB941HAQ/+PRnBkhlEdhI6PsmuPTyiKfkfo/yypmx2+sYsqsaMMRgx + ko2jaaD96MOE0SBD+TtwyTaq+oJzWhOvogH3GKbT2AxAc7PXIOEOc8XjABE0Fsly + fGwVynBKQjAzrmA+Y1mqSQEERmvTqwOOMr+tVotzHAd61x6UpavjKqj/c0DgjLqt + RBftYPbMZ1834v8xz2uMY8/jAcfR292MJfL/YyJsxoVnVp5lQVWXLV2KXo9ToSNG + ku5cqWonTbZaMWDlgxL4a5chbtqwUaeuRa//zdlv1QXRKPfAsG/jGaZ8Khgw3uBK + Es6K7jAhvbQ7dSlZLiYXDqyjlu6oeD7s5kOViGZluHJA6WYzE+fu2iBH2U4h7TlW + vyg53OeoiF/ZVNaFYY6cZ2dhRG+U/01Xpcr6Q64QESrdZiaJWUHGuPKnI48YYHbV + J9mt6ngfrUJeHEqYiX/S/ugMzm/hgmdy8kjE18b8KEwixu2ed0J1jZ1Hg1546Bto + ErqXxXSizFDtpS89f8J/vkfubfSJL0PKn1gkX+I5RvFctOVdkfrIkZOnDpLakAIz + KTM4R2XRMXr0wnYrZZmZFN3i1Qjqi1VWCKGl3D0iZ4kbHk/wycu6JPuw2k5Icc9Z + euJeBV9bgw619pB7cf+tF6KVJDNkSW25KF+180kxvY1qf6/u7wqhdUsA7aAwmO3S + XgGZZ74zJc7Pg0A+qiCy1CXRqpi3Eox8j8fAqVWMq136ZDErmmGjc1hM42SvVJyI + M/RBT7hwQZgSMMtwOTbPVjsMkZVK2Ltli1n9apaPaGJfCdJxz7o8fEn/1oZq4J4= + =TG0y -----END PGP MESSAGE----- fp: EF69F2FB25C8B5A66918EA91A38ACEAB9656CD94 unencrypted_suffix: _unencrypted |
