diff --git a/Justfile b/Justfile index 3c0318de..c9f792d7 100644 --- a/Justfile +++ b/Justfile @@ -1,6 +1,5 @@ # Note: -# add `--option substitute false` to the command so it builds properly offline -# rfkill block all helps too +# add `--option substitute false` and or `--no-net` to the command so it builds properly offline os host action: #!/usr/bin/env bash set -euo pipefail diff --git a/nix/configurations/vanadium.nix b/nix/configurations/vanadium.nix index aeb22f45..ecc21d46 100644 --- a/nix/configurations/vanadium.nix +++ b/nix/configurations/vanadium.nix @@ -177,6 +177,7 @@ in ../homeModules/common/git.nix ../homeModules/common/gpg.nix ../homeModules/common/kitty.nix + ../homeModules/common/ghostty.nix ../homeModules/common/leana.nix ../homeModules/common/locale.nix ../homeModules/common/lazygit.nix diff --git a/nix/configurations/vanadium/home/dev.nix b/nix/configurations/vanadium/home/dev.nix index 58caefeb..e664c20f 100644 --- a/nix/configurations/vanadium/home/dev.nix +++ b/nix/configurations/vanadium/home/dev.nix @@ -40,7 +40,7 @@ enable = true; # We don't deal with worktree folders anyway repositories = lib.map (path: "${config.home.homeDirectory}/r/${path}") [ - "nixos/nixpkgs" + "NixOS/nixpkgs" "ghc/ghc" "haskell/cabal" ]; diff --git a/nix/configurations/vanadium/home/programs.nix b/nix/configurations/vanadium/home/programs.nix index 0eac0247..19b98659 100644 --- a/nix/configurations/vanadium/home/programs.nix +++ b/nix/configurations/vanadium/home/programs.nix @@ -166,8 +166,16 @@ feh.enable = true; sioyek.enable = true; - kitty = { + + ghostty = { enable = true; + settings = { + font-size = 12; # sweet spot for framework 13 + command = lib.getExe config.programs.fish.package; + }; + }; + kitty = { + enable = false; font.size = 12; # sweet spot for framework 13 settings = { shell = lib.getExe config.programs.fish.package; diff --git a/nix/configurations/vanadium/home/xmobar/xmobar.hs b/nix/configurations/vanadium/home/xmobar/xmobar.hs index 6479154e..f4bab962 100644 --- a/nix/configurations/vanadium/home/xmobar/xmobar.hs +++ b/nix/configurations/vanadium/home/xmobar/xmobar.hs @@ -106,7 +106,7 @@ config = , Run XMonadLog , Run $ Weather - "RCSS" + "LFRN" [ "-t", ": °C" , "-L", "10" , "-H", "25" @@ -123,7 +123,7 @@ config = " %XMonadLog% " <> alignSep config <> intercalate "|" - [ " %RCSS% " + [ " %LFRN% " , " %battery%, %powerprofilesctl%) " , " %hereClock% (%tomorrow%, %hrt-time%) " ] diff --git a/nix/configurations/vanadium/home/xmonad/xmonad.hs b/nix/configurations/vanadium/home/xmonad/xmonad.hs index 90f8e80e..2cf3dfb2 100644 --- a/nix/configurations/vanadium/home/xmonad/xmonad.hs +++ b/nix/configurations/vanadium/home/xmonad/xmonad.hs @@ -381,7 +381,17 @@ keybinds = ) myTerm :: String -myTerm = "kitty" +myTerm = "ghostty" + +mkTermProgramCommand :: String -> String -> String +mkTermProgramCommand termTitle progName = + unwords + [ "ghostty" + , "--title=" <> quote termTitle + , "--command=" <> quote progName + ] + where + quote x = "\"" <> x <> "\"" superMask, altMask :: KeyMask superMask = mod4Mask @@ -422,22 +432,22 @@ myScratchpads :: [NamedScratchpad] myScratchpads = [ NS "cmus" - (myTerm ++ " -T 'cmus' cmus") + (mkTermProgramCommand "cmus" "cmus") (title =? "cmus") (customFloating centeredFloat) , NS "btop" - (myTerm ++ " -T 'btop' btop") + (mkTermProgramCommand "btop" "btop") (title =? "btop") (customFloating fullFloat) , NS "pass" - (myTerm ++ " -T 'pass' -- fish -i -c 'while :; fzf-pass; end'") + (mkTermProgramCommand "pass" "fish -i -c 'while :; fzf-pass; end'") (title =? "pass") (customFloating smallFloat) , NS "emoji-picker" - (myTerm ++ " -T 'emoji-picker' -- fish -i -c 'while :; emoji-picker; end'") + (mkTermProgramCommand "emoji-picker" "fish -i -c 'while :; emoji-picker; end'") (title =? "emoji-picker") (customFloating smallFloat) ] diff --git a/nix/configurations/vanadium/nixos/connectivity.nix b/nix/configurations/vanadium/nixos/connectivity.nix index e4906268..c484540f 100644 --- a/nix/configurations/vanadium/nixos/connectivity.nix +++ b/nix/configurations/vanadium/nixos/connectivity.nix @@ -67,9 +67,6 @@ 0.0.0.0 instagram.com 0.0.0.0 www.instagram.com - 0.0.0.0 youtube.com - 0.0.0.0 www.youtube.com - # The "people who you viewed can see you" thing is weird af 0.0.0.0 linkedin.com 0.0.0.0 www.linkedin.com diff --git a/nix/configurations/vanadium/nixos/fs.nix b/nix/configurations/vanadium/nixos/fs.nix index 9d851cc5..05436007 100644 --- a/nix/configurations/vanadium/nixos/fs.nix +++ b/nix/configurations/vanadium/nixos/fs.nix @@ -10,9 +10,9 @@ systemd.tmpfiles.rules = [ # tmux-sessionizer directories - "d /home/leana/r 0700 leana leana - -" - "d /home/leana/pg 0700 leana leana 4w -" - "d /home/leana/wt 0700 leana leana - -" + "d /home/leana/r 0700 leana leana - -" + "d /home/leana/wt 0700 leana leana - -" + "d /home/leana/pg 0700 leana leana - -" # not only used as "playground" because I put other stuff here too, it's a fourre-tout ]; fileSystems = { diff --git a/nix/homeModules/common/fish/functions/nix-build.fish b/nix/homeModules/common/fish/functions/nix-build.fish new file mode 100644 index 00000000..4f541a72 --- /dev/null +++ b/nix/homeModules/common/fish/functions/nix-build.fish @@ -0,0 +1,7 @@ +function nix-build + if type -q nix-build + nom-build $argv + else + nix-build $argv + end +end diff --git a/nix/homeModules/common/fish/functions/nix-shell.fish b/nix/homeModules/common/fish/functions/nix-shell.fish new file mode 100644 index 00000000..a615057f --- /dev/null +++ b/nix/homeModules/common/fish/functions/nix-shell.fish @@ -0,0 +1,7 @@ +function nix-shell + if type -q nix-shell + nom-shell $argv + else + nix-shell $argv + end +end diff --git a/nix/homeModules/common/ghostty.nix b/nix/homeModules/common/ghostty.nix new file mode 100644 index 00000000..65593dbe --- /dev/null +++ b/nix/homeModules/common/ghostty.nix @@ -0,0 +1,54 @@ +{ + lib, + pkgs, + config, + ... +}: +let + cfg = config.programs.ghostty; +in +{ + config = lib.mkIf cfg.enable { + home.packages = [ + pkgs.nerd-fonts.iosevka + ]; + + programs.ghostty.settings = { + # Declutter + gtk-titlebar = false; + window-decoration = "none"; + confirm-close-surface = false; + resize-overlay = "never"; + + # Fonts + font-family = "Iosevka NFM"; + adjust-cursor-thickness = 2; + keybind = [ + "ctrl+shift+==increase_font_size:1" + "ctrl+-=decrease_font_size:1" + ]; + + # Theme + background = "#fdf6e3"; + foreground = "#073642"; + palette = [ + "0=#073642" + "1=#af005f" + "2=#859900" + "3=#ba9b23" + "4=#268bd2" + "5=#5f5faf" + "6=#2aa198" + "7=#a0a1a7" + "8=#4d4d4d" + "9=#d33682" + "10=#29a350" + "11=#d6b429" + "12=#469edd" + "13=#6060d1" + "14=#4bccc1" # a platupus? perry the platupus? + "15=#eeeadd" + ]; + }; + }; +} diff --git a/nix/homeModules/common/kitty.nix b/nix/homeModules/common/kitty.nix index afe1a9c5..fff484b9 100644 --- a/nix/homeModules/common/kitty.nix +++ b/nix/homeModules/common/kitty.nix @@ -13,7 +13,7 @@ in pkgs.nerd-fonts.iosevka ]; - programs.kitty = lib.mkIf cfg.enable { + programs.kitty = { font.name = "family=\"Iosevka NFM\""; settings = rec { diff --git a/nix/lib/mkNerdFont.nix b/nix/lib/mkNerdFont.nix index 9753577a..e9bffc02 100644 --- a/nix/lib/mkNerdFont.nix +++ b/nix/lib/mkNerdFont.nix @@ -6,8 +6,7 @@ }: { font, - extraArgs ? [ ], - useDefaultsArgs ? true, + patcherArgs ? [ ], }: stdenvNoCC.mkDerivation { /* @@ -27,19 +26,15 @@ stdenvNoCC.mkDerivation { buildPhase = let - args = - lib.optionals useDefaultsArgs [ - "--careful" - "--complete" - "--quiet" - "--no-progressbars" - ] - ++ extraArgs; + allPatcherArgs = [ + "--no-progressbars" + ] + ++ patcherArgs; in '' mkdir -p nerd-font find \( -name \*.ttf -o -name \*.otf \) | parallel --jobs=$NIX_BUILD_CORES nerd-font-patcher {} \ - --outputdir nerd-font ${builtins.concatStringsSep " " args} + --outputdir nerd-font ${builtins.concatStringsSep " " allPatcherArgs} ''; installPhase = '' diff --git a/nix/overlays/iosevka.nix b/nix/overlays/iosevka.nix index 2239f2ae..b161be51 100644 --- a/nix/overlays/iosevka.nix +++ b/nix/overlays/iosevka.nix @@ -7,9 +7,11 @@ final: prev: rec { // { iosevka = mkNerdFont { font = iosevka; - extraArgs = [ + patcherArgs = [ + "--complete" + "--careful" "--name {/.}-NFM" - "--use-single-width-glyphs" + "--mono" ]; }; }; @@ -49,9 +51,9 @@ final: prev: rec { }; weights = { - Regular.shape = 500; - Regular.menu = 500; - Regular.css = 500; + Regular.shape = 580; + Regular.menu = 580; + Regular.css = 580; Bold.shape = 700; Bold.menu = 700; Bold.css = 700; diff --git a/nix/overlays/wired-notify.nix b/nix/overlays/wired-notify.nix index 05831369..3dc2c5bd 100644 --- a/nix/overlays/wired-notify.nix +++ b/nix/overlays/wired-notify.nix @@ -1,4 +1,4 @@ let sources = import ../../npins; in -(import sources.wired-notify).overlays.default +sources.wired-notify.asFlake.overlays.default diff --git a/nix/packages/by-name/easyscan/easyscan.sh b/nix/packages/by-name/easyscan/easyscan.sh index c9d54dc1..633c7686 100644 --- a/nix/packages/by-name/easyscan/easyscan.sh +++ b/nix/packages/by-name/easyscan/easyscan.sh @@ -11,6 +11,13 @@ tempdir="$(mktemp -d)" filenames=() counter=1 +function clean() { + # Make sure I don't remove things other than pdf + rm "$tempdir/"*.pdf + rm -d "$tempdir" +} +trap clean EXIT + while :; do ok="true" echo "Scanning page $counter" @@ -51,6 +58,4 @@ pdfunite "${filenames[@]}" "$merged_filename" mkdir -p "$(dirname "$OUTPUT_FILE")" cp "$merged_filename" "$OUTPUT_FILE" -# Make sure I don't remove things other than pdf -rm "$tempdir/"*.pdf -rm -d "$tempdir" +clean diff --git a/npins/sources.json b/npins/sources.json index 9a81a007..472bcfe7 100644 --- a/npins/sources.json +++ b/npins/sources.json @@ -114,9 +114,9 @@ }, "branch": "release-25.11", "submodules": false, - "revision": "0999ed8f965bbbd991437ad9c5ed3434cecbc30e", - "url": "https://github.com/nix-community/home-manager/archive/0999ed8f965bbbd991437ad9c5ed3434cecbc30e.tar.gz", - "hash": "1rzgy9qmrvh9l3jrcjv14kva8sj3imzrpm2vmwcfzp40bk9wdfb5" + "revision": "d49d2543f02dbd789ed032188c84570d929223cb", + "url": "https://github.com/nix-community/home-manager/archive/d49d2543f02dbd789ed032188c84570d929223cb.tar.gz", + "hash": "04vcga33w8nvs3912vzza85xadhq9dalym24rly4mrlmvcqrhrk2" }, "infuse": { "type": "GitRelease", @@ -171,9 +171,9 @@ }, "branch": "master", "submodules": false, - "revision": "c5db9569ac9cc70929c268ac461f4003e3e5ca80", - "url": "https://github.com/NixOS/nixos-hardware/archive/c5db9569ac9cc70929c268ac461f4003e3e5ca80.tar.gz", - "hash": "16p1m6avlp4iyw7cfzwwjfm421mns9ab9a1kkg59rvn3pqvnsxai" + "revision": "40b1a28dce561bea34858287fbb23052c3ee63fe", + "url": "https://github.com/NixOS/nixos-hardware/archive/40b1a28dce561bea34858287fbb23052c3ee63fe.tar.gz", + "hash": "197v6xxdq5j4w8kil6q21ij9x6ng8z6j72brkwwjim23798c2c4n" }, "nixpkgs": { "type": "Git", @@ -184,9 +184,9 @@ }, "branch": "nixos-25.11-small", "submodules": false, - "revision": "bc805d6053df597d14851e919dd22137abf33e44", - "url": "https://github.com/nixos/nixpkgs/archive/bc805d6053df597d14851e919dd22137abf33e44.tar.gz", - "hash": "0m78vibcry1lkj9zfglvp11ld3wvarsl92d99fcsc6322z1nd520" + "revision": "51754d3ce24751e6542e699da9ccab5676ae0bbd", + "url": "https://github.com/nixos/nixpkgs/archive/51754d3ce24751e6542e699da9ccab5676ae0bbd.tar.gz", + "hash": "04iw8w28mzxqmynb809xpcakvzkz6jbzfbrj3nfcpndzrm71i3vm" }, "nur": { "type": "Git", @@ -197,9 +197,9 @@ }, "branch": "main", "submodules": false, - "revision": "6580345ce88dd3b98aaaefc253ea3c0c712e0dc2", - "url": "https://github.com/nix-community/nur/archive/6580345ce88dd3b98aaaefc253ea3c0c712e0dc2.tar.gz", - "hash": "1xbman6fy7r355wzmf0h95ryij2wir902zpc68nn3b9vw5xj1f7l" + "revision": "7dbb9dc3bfc5c7d5a83b7f66022eb70c13cb8806", + "url": "https://github.com/nix-community/nur/archive/7dbb9dc3bfc5c7d5a83b7f66022eb70c13cb8806.tar.gz", + "hash": "16qj1j3y26bwglza4947iqdk6944md1gl8sk3yvbj8plwnv7dqjl" }, "pin-emacs28": { "type": "Git", @@ -362,9 +362,9 @@ }, "branch": "main", "submodules": false, - "revision": "fe8d1a61a904b336f453d7ab5ae7d691a21c5cbf", - "url": "https://github.com/0xc000022070/zen-browser-flake/archive/fe8d1a61a904b336f453d7ab5ae7d691a21c5cbf.tar.gz", - "hash": "1wh060savyr2v4kb9c1b01ylhz955qzflxsfq8a7c82y1l74cgcq" + "revision": "c1bd63771a866f29fdc33e0fa80e7fb8536ba5f0", + "url": "https://github.com/0xc000022070/zen-browser-flake/archive/c1bd63771a866f29fdc33e0fa80e7fb8536ba5f0.tar.gz", + "hash": "0j3z482xnmv1h3kbk5nw5fr1h5nwagvrq0ibq3racgw712fis1cl" } }, "version": 5