diff --git a/home-manager/flake.lock b/home-manager/flake.lock index 3f7091b..8335f8b 100644 --- a/home-manager/flake.lock +++ b/home-manager/flake.lock @@ -54,11 +54,11 @@ ] }, "locked": { - "lastModified": 1738841109, - "narHash": "sha256-sEgE3nifaRU5gfAx33ds0tx/j+qM0/5/bHopv/w6c0c=", + "lastModified": 1738878603, + "narHash": "sha256-fmhq8B3MvQLawLbMO+LWLcdC2ftLMmwSk+P29icJ3tE=", "owner": "nix-community", "repo": "home-manager", - "rev": "f99c704fe3a4cf8d72b2d568ec80bc38be1a9407", + "rev": "433799271274c9f2ab520a49527ebfe2992dcfbd", "type": "github" }, "original": { @@ -242,11 +242,11 @@ ] }, "locked": { - "lastModified": 1738804720, - "narHash": "sha256-3bAR5ALk5AoFt4BlsQRdjSV6VVH6lbgtYdElb0A+qDc=", + "lastModified": 1738880187, + "narHash": "sha256-1RieTOf8k5WQDMUpk2y24jmCUGS5Z8vyVb1xOaZu6cc=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "7868f1c54b7f8e09be194aaa0934791596df1ea1", + "rev": "6449d5cd3ddd3e21650ed2b80c59acfbb196fb2b", "type": "github" }, "original": { diff --git a/home-manager/flake.nix b/home-manager/flake.nix index 80b76cc..b7b6b1b 100644 --- a/home-manager/flake.nix +++ b/home-manager/flake.nix @@ -63,12 +63,12 @@ pkgs = ( import ((import nixpkgs { }).applyPatches { - name = "gpt4all 3.9.0"; + name = "gpt4all 3.9.0 (PR #372723)"; src = inputs.nixpkgs; patches = [ (builtins.fetchurl { url = "https://github.com/NixOS/nixpkgs/pull/372723.diff"; - sha256 = "1vq035iwmc8dhi4zfhgivm1vr14yjjv8fgp00dk5wh3j401p6s6k"; + sha256 = "039vr6xssic2bdkax440w9xfrvq8jrmm54xhsgpi93mnwj4m8fz1"; }) ]; }) { } diff --git a/home-manager/gui.nix b/home-manager/gui.nix index 7efcd45..6432670 100644 --- a/home-manager/gui.nix +++ b/home-manager/gui.nix @@ -115,6 +115,9 @@ wl-screenrec gimp + + # wayland-compatible color picker + hyprpicker ] ++ (builtins.filter lib.isDerivation (builtins.attrValues nerd-fonts)); @@ -140,7 +143,7 @@ # make chromium-based stuff use wayland home.file.".config/chromium-flags.conf".text = "--ozone-platform-hint=auto"; - #dark mode + # dark mode dconf.settings = { "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; @@ -152,20 +155,10 @@ BROWSER = "zen"; }; - #for trezor stuff - /* - trezor-udev-rules #trezor udev rules - trezord - trezor-suite - monero-gui - monero-cli - trezorctl - */ - - #allow extra fonts to be detected by fontconfig + # allow extra fonts to be detected by fontconfig fonts.fontconfig.enable = true; - #gtk application theming + # gtk application theming gtk = { enable = true; # make gtk3 applications look like libadwaita applications! @@ -179,7 +172,7 @@ }; }; - #qt application theming - BROKEN and on fire + # qt application theming - BROKEN and on fire # qt = { # enable = true; # platformTheme = { @@ -196,7 +189,7 @@ # }; # }; - #macOS cursor! + # macOS cursor! home.pointerCursor = { gtk.enable = true; package = pkgs.apple-cursor; diff --git a/home-manager/no-gui.nix b/home-manager/no-gui.nix index 4b85b95..20bfcc5 100644 --- a/home-manager/no-gui.nix +++ b/home-manager/no-gui.nix @@ -147,6 +147,8 @@ # terminal image viewer timg lsof + + tcpdump ]; # home.file.".cargo/config.toml".text = '' diff --git a/home-manager/progs/alacritty.nix b/home-manager/progs/alacritty.nix index 49de2b1..3b91dcf 100644 --- a/home-manager/progs/alacritty.nix +++ b/home-manager/progs/alacritty.nix @@ -4,9 +4,6 @@ enable = true; package = pkgs.alacritty; settings = { - # use the fish shell - # shell.program = "${pkgs.fish}/bin/fish"; - # some programs can't handle alacritty env.TERM = "xterm-256color"; diff --git a/home-manager/progs/eww/config/statusbar.yuck b/home-manager/progs/eww/config/statusbar.yuck index 97ce264..3e3e440 100644 --- a/home-manager/progs/eww/config/statusbar.yuck +++ b/home-manager/progs/eww/config/statusbar.yuck @@ -1,4 +1,3 @@ - (defwindow statusbar :monitor 0 :stacking "fg" diff --git a/home-manager/progs/gpt4all/gpt4all.nix b/home-manager/progs/gpt4all/gpt4all.nix index 114f174..d496436 100644 --- a/home-manager/progs/gpt4all/gpt4all.nix +++ b/home-manager/progs/gpt4all/gpt4all.nix @@ -7,13 +7,13 @@ let models = [ rec { - name = "DeepSeek-R1-Distill-Qwen-14B-Q4_0"; + name = "DeepSeek-R1-Distill-Qwen-14B-IQ4_XS"; filename = builtins.elemAt (lib.splitString "?" src.name) 0; context_length = 32768; gen_length = 8192; src = pkgs.fetchurl { - url = "https://huggingface.co/bartowski/DeepSeek-R1-Distill-Qwen-14B-GGUF/resolve/main/DeepSeek-R1-Distill-Qwen-14B-Q4_0.gguf?download=true"; - sha256 = "906b3382f2680f4ce845459b4a122e904002b075238080307586bcffcde49eef"; + url = "https://huggingface.co/bartowski/DeepSeek-R1-Distill-Qwen-14B-GGUF/resolve/main/DeepSeek-R1-Distill-Qwen-14B-IQ4_XS.gguf?download=true"; + sha256 = "031b190e7aa81770b5d069de181dcfe4b284bf5d75fa12f82f5e54a3178adcfd"; }; } ]; diff --git a/home-manager/progs/helix.nix b/home-manager/progs/helix.nix index 3f5919e..74202c7 100644 --- a/home-manager/progs/helix.nix +++ b/home-manager/progs/helix.nix @@ -40,6 +40,10 @@ # modified fleet_dark theme my_theme = let + pastel-pink = "#c67C7E"; + + darkish-green = "#6B8D46"; + white = "#ffffff"; gray-120 = "#d1d1d1"; gray-110 = "#c2c2c2"; @@ -110,7 +114,10 @@ "constant.character" = yellow; "constant.character.escape" = cyan; "constant.numeric" = yellow; - "string" = pink; + + # string datatypes, also includes quoted attributes in nix + "string" = pastel-pink; + "string.regexp" = cyan; "string.special" = { fg = yellow; @@ -126,8 +133,13 @@ # "variable.other" = {} # .member "variable.other.member" = violet; "label" = yellow; - "keyword" = cyan; # .operator / .directive / .function + + # `keyword` in language, such as function declaration + "keyword" = darkish-green; + + # function name color when calling the function "function" = yellow; + "function.declaration" = "#EFEFEF"; "function.macro" = lime; "function.builtin" = lime; @@ -181,18 +193,22 @@ "ui.statusline" = { fg = gray-120; bg = gray-20; - }; # .inactive / .normal / .insert / .select + }; + # NOR "ui.statusline.normal" = { fg = gray-120; bg = gray-20; }; + # inactive "ui.statusline.inactive" = { fg = gray-90; }; + # INS "ui.statusline.insert" = { fg = gray-20; bg = blue-90; }; + # SEL "ui.statusline.select" = { fg = gray-20; bg = yellow-60; @@ -200,27 +216,38 @@ "ui.cursor" = { modifiers = [ "reversed" ]; - }; # .insert / .select / .match / .primary + }; + + # .insert / .select / .match / .primary "ui.cursor.match" = { bg = blue-30; - }; # .insert / .select / .match / .primary + }; + # .insert / .select / .match / .primary "ui.selection" = { bg = gray-50; - }; # .primary + }; + + # actual selection of text via visual mode or cursor (or search?) "ui.selection.primary" = { - bg = blue-40; + bg = blue-20; }; "ui.cursorline" = { bg = gray-15; }; - "ui.linenr" = gray-70; - "ui.linenr.selected" = gray-110; + # line numbers + "ui.linenr" = yellow-30; + + # line number of currently selected line + "ui.linenr.selected" = yellow-50; + + # .info # .nor "ui.popup" = { fg = gray-120; bg = gray-20; - }; # .info + }; + "ui.window" = { fg = gray-50; }; @@ -228,20 +255,25 @@ fg = gray-120; bg = gray-20; }; + "ui.menu" = { fg = gray-120; bg = gray-20; - }; # .selected + }; + + #.selected "ui.menu.selected" = { fg = white; bg = blue-40; - }; # .selected + }; + # Calculated as #ffffff with 30% opacity "ui.menu.scroll" = { fg = "#dfdfdf"; }; - "ui.text" = gray-120; # .focus / .info + "ui.text" = gray-120; + # .focus / .info "ui.text.focus" = { fg = white; bg = blue-40; diff --git a/home-manager/progs/niri.nix b/home-manager/progs/niri.nix index 0e8a971..b11b89d 100644 --- a/home-manager/progs/niri.nix +++ b/home-manager/progs/niri.nix @@ -137,6 +137,12 @@ "down" ]; + # color picker and copies to clipboard + "Mod+Ctrl+Alt+C".action = spawn [ + "${pkgs.hyprpicker}/bin/hyprpicker" + "-za" + ]; + # "Framework" key (F12) # "XF86AudioMedia".action = spawn []; diff --git a/home-manager/system-mreow.nix b/home-manager/system-mreow.nix index be8dff3..9b4bcab 100644 --- a/home-manager/system-mreow.nix +++ b/home-manager/system-mreow.nix @@ -54,10 +54,9 @@ programs.borgmatic = { enable = true; package = pkgs.borgmatic; - backups = - let - borgPasswordFile = config.age.secrets.borg-laptop-password.path; - in - import ./progs/borg.nix { inherit homeDirectory borgPasswordFile; }; + backups = import ./progs/borg.nix { + borgPasswordFile = config.age.secrets.borg-laptop-password.path; + inherit homeDirectory; + }; }; }