diff --git a/.gitignore b/.gitignore index 36fc346..48896be 100644 --- a/.gitignore +++ b/.gitignore @@ -19,5 +19,3 @@ result *.qcow2 nixos-switch.log -*.org -*.orig diff --git a/flake.lock b/flake.lock index 845480e..a8282da 100644 --- a/flake.lock +++ b/flake.lock @@ -25,11 +25,11 @@ "nixpkgs": "nixpkgs_3" }, "locked": { - "lastModified": 1781180057, - "narHash": "sha256-sh5cl74+o7PBUp5igMeqGoofiyUguudIS8Cw6jXlKjw=", + "lastModified": 1779125773, + "narHash": "sha256-F34zmAgMQXHwvFb9SpCilX4cAIfF4+KvpzrJqnkNLJE=", "owner": "catppuccin", "repo": "nix", - "rev": "c3623ae5172427612749154de46455d97e1a66ad", + "rev": "86996e2c4ee6a091fddb10de56dd21a1a5972bcb", "type": "github" }, "original": { @@ -97,11 +97,11 @@ "flake-compat_3": { "flake": false, "locked": { - "lastModified": 1777699697, - "narHash": "sha256-Eg9b/rq/ECYwNwEXs5i9wHyhxNI0JrYx2srdI2uZMaQ=", + "lastModified": 1751685974, + "narHash": "sha256-NKw96t+BgHIYzHUjkTK95FqYRVKB8DHpVhefWSz/kTw=", "ref": "refs/heads/main", - "rev": "382052b74656a369c5408822af3f2501e9b1af81", - "revCount": 94, + "rev": "549f2762aebeff29a2e5ece7a7dc0f955281a1d1", + "revCount": 92, "type": "git", "url": "https://git.lix.systems/lix-project/flake-compat.git" }, @@ -160,11 +160,11 @@ ] }, "locked": { - "lastModified": 1778716662, - "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "type": "github" }, "original": { @@ -276,11 +276,11 @@ ] }, "locked": { - "lastModified": 1781189114, - "narHash": "sha256-5inaamLgUMWy+MOBE9ChF9QAF1o/74LFuHkI0W/9rqc=", + "lastModified": 1779157263, + "narHash": "sha256-VbiyZkRf8/qr7ObmlyfOHJsNAW5tyZ4MB1+cUwAwdrw=", "owner": "nix-community", "repo": "home-manager", - "rev": "486595d2cf49cfcd649b58a284fa11ac0e34da22", + "rev": "866412a19866b4a8e32d2306a118040afa2b840c", "type": "github" }, "original": { @@ -319,11 +319,11 @@ }, "mnw": { "locked": { - "lastModified": 1780772958, - "narHash": "sha256-VKKe8r4pwCGWZ3Yr9CPN129R4S3CKLSrlYqdYz3vKpM=", + "lastModified": 1777828893, + "narHash": "sha256-gVWVnmyNr74BVKfhMMZDWkhx2699dhmZ2g0W8TTHtkk=", "owner": "Gerg-L", "repo": "mnw", - "rev": "0871dbf63a53610c95db04439ed8ea4d6ec9c160", + "rev": "c1c0b544bfabe6669b5a6a0383ccb475fe60258b", "type": "github" }, "original": { @@ -359,16 +359,16 @@ ] }, "locked": { - "lastModified": 1779233504, - "narHash": "sha256-YIKEyzh0NFQlD0O92LQQNMoVCDwV8yw1Xz0Iu+4ZC5U=", + "lastModified": 1776882296, + "narHash": "sha256-DWZozXwMsgvUqfVlL1mQ8dOxW7GJ/8CdyaDN+1niZRg=", "owner": "feel-co", "repo": "ndg", - "rev": "86f6644411a64d5413711895b7cf6e0e1be465b6", + "rev": "ab7d78d4884b3a34968cf9fa3d16c0c1246d5c6e", "type": "github" }, "original": { "owner": "feel-co", - "ref": "refs/tags/v2.8.0", + "ref": "refs/tags/v2.6.0", "repo": "ndg", "type": "github" } @@ -383,11 +383,11 @@ "nixpkgs-regression": "nixpkgs-regression" }, "locked": { - "lastModified": 1781190364, - "narHash": "sha256-uP1AYpXYHdzmuz+a4AcScRIHa1uy7l9ObZovS0OqN70=", + "lastModified": 1779121299, + "narHash": "sha256-jOG6snvWYtFaAmxyJF60ELISmXSJ0e/B5HULkS9RCPE=", "owner": "NixOS", "repo": "nix", - "rev": "ce9fda43e5cb8d2f6c57c7240d05d10ad0415799", + "rev": "e7fd44ad299ac1cf1b37bc558e1e0e0fb9884748", "type": "github" }, "original": { @@ -417,15 +417,12 @@ } }, "nixos-hardware": { - "inputs": { - "nixpkgs": "nixpkgs_6" - }, "locked": { - "lastModified": 1781168557, - "narHash": "sha256-LOnLQ2tpYF9gqIDDr3+j3DbpJJr/QCH6zPRT2GzEUOE=", + "lastModified": 1779099457, + "narHash": "sha256-u73aVD/lUmmT3JV+kPDztl7zPwQKd0eobD1AbJltaGs=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "6358ff76821101c178e3ab4919a62799bfe3652e", + "rev": "8792fab9d4a6454a9201675f01326f827ce35ead", "type": "github" }, "original": { @@ -485,11 +482,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1780952837, - "narHash": "sha256-Fwd1+spDtQ0hDyBwme6ufG3n4mY0UrjjFdYHv+G/Hds=", + "lastModified": 1778737229, + "narHash": "sha256-6xWoytx8jFW4PF1GjRm/i/53trbpKGfz6zjzQGBr4cI=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e820eb4a444b46a19b2e03e8dfd2359439ff30fe", + "rev": "d7a713c0b7e47c908258e71cba7a2d77cc8d71d5", "type": "github" }, "original": { @@ -517,15 +514,18 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1780365719, - "narHash": "sha256-JX05Ms/dk0c+UoW9IqQriB53HNZFckX9Qd3EJqmcqEw=", - "rev": "ffa10e26ae11d676b2db836259889f1f571cb14f", - "type": "tarball", - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1009182.ffa10e26ae11/nixexprs.tar.xz" + "lastModified": 1778443072, + "narHash": "sha256-zi7/fsqM/kFdNuED//4WOCUtezGtKKqRNORjMvfwjnA=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "da5ad661ba4e5ef59ba743f0d112cbc30e474f32", + "type": "github" }, "original": { - "type": "tarball", - "url": "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz" + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs_4": { @@ -546,37 +546,24 @@ }, "nixpkgs_5": { "locked": { - "lastModified": 1780902259, - "narHash": "sha256-YMnBf9lk/LYgvqfmSSJuOGigtRs5Lsy26pJHVlR9yMY=", - "rev": "bd0ff2d3eac24699c3664d5966b9ef36f388e2ca", + "lastModified": 1778003029, + "narHash": "sha256-amc4Y3GF3+anUi7IJeLVzf7hVqLb3ZqCGzYtkVyp7Qw=", + "rev": "0c88e1f2bdb93d5999019e99cb0e61e1fe2af4c5", "type": "tarball", - "url": "https://releases.nixos.org/nixos/26.05/nixos-26.05.1550.bd0ff2d3eac2/nixexprs.tar.xz" + "url": "https://releases.nixos.org/nixos/25.11/nixos-25.11.10470.0c88e1f2bdb9/nixexprs.tar.xz" }, "original": { "type": "tarball", - "url": "https://channels.nixos.org/nixos-26.05/nixexprs.tar.xz" + "url": "https://channels.nixos.org/nixos-25.11/nixexprs.tar.xz" } }, "nixpkgs_6": { "locked": { - "lastModified": 1767892417, - "narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=", - "rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba", - "type": "tarball", - "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz" - }, - "original": { - "type": "tarball", - "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" - } - }, - "nixpkgs_7": { - "locked": { - "lastModified": 1781074563, - "narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=", + "lastModified": 1778869304, + "narHash": "sha256-30sZNZoA1cqF5JNO9fVX+wgiQYjB7HJqqJ4ztCDeBZE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca", + "rev": "d233902339c02a9c334e7e593de68855ad26c4cb", "type": "github" }, "original": { @@ -586,7 +573,7 @@ "type": "github" } }, - "nixpkgs_8": { + "nixpkgs_7": { "locked": { "lastModified": 1768323494, "narHash": "sha256-yBXJLE6WCtrGo7LKiB6NOt6nisBEEkguC/lq/rP3zRQ=", @@ -602,7 +589,7 @@ "type": "github" } }, - "nixpkgs_9": { + "nixpkgs_8": { "locked": { "lastModified": 1775888245, "narHash": "sha256-nwASzrRDD1JBEu/o8ekKYEXm/oJW6EMCzCRdrwcLe90=", @@ -621,16 +608,16 @@ "nixvim": { "inputs": { "flake-parts": "flake-parts_2", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_7", "nuschtosSearch": "nuschtosSearch", "systems": "systems_4" }, "locked": { - "lastModified": 1780865908, - "narHash": "sha256-UMwL+pE2I49q6qOV8w6pnuF3utb1qQuofmprBAhOU6A=", + "lastModified": 1769049374, + "narHash": "sha256-h0Os2qqNyycDY1FyZgtbn28VF1ySP74/n0f+LDd8j+w=", "owner": "nix-community", "repo": "nixvim", - "rev": "68e314303bc60b8a58cdd2f361013809620b2473", + "rev": "b8f76bf5751835647538ef8784e4e6ee8deb8f95", "type": "github" }, "original": { @@ -675,11 +662,11 @@ "systems": "systems_5" }, "locked": { - "lastModified": 1781204315, - "narHash": "sha256-0mEWVih7Aq2tdyZwHL91tZMsIitFIocGMvtfaenOSPc=", + "lastModified": 1779018518, + "narHash": "sha256-RUmjcuxbaa8UKsd5rUO5bqDe9YxGBDLXd4tFFBi351E=", "owner": "notashelf", "repo": "nvf", - "rev": "5727a5b9a76f6540d93a26cfc96c6ec2b47fa4f3", + "rev": "cd45295f9c65ca81f323155660ba83d427bd0154", "type": "github" }, "original": { @@ -697,7 +684,7 @@ "naviterm": "naviterm", "nix": "nix", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_7", + "nixpkgs": "nixpkgs_6", "nixpkgs-stable": "nixpkgs-stable", "nixvim": "nixvim", "nvf": "nvf", @@ -724,14 +711,14 @@ }, "sops-nix": { "inputs": { - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_8" }, "locked": { - "lastModified": 1780547341, - "narHash": "sha256-Gq8KNx5A7hBB3uGJaj6eQfLDIz5YdLu92gqBcvHvoUo=", + "lastModified": 1777944972, + "narHash": "sha256-VfGRo1qTBKOe3s2gOv8LSoA6Fk19PvBlwQ1ECN0Evn8=", "owner": "Mic92", "repo": "sops-nix", - "rev": "9ed65852b6257fbeae4355bc24ecfea307ca759a", + "rev": "c591bf665727040c6cc5cb409079acb22dcce33c", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index e2eda62..9f1eac4 100644 --- a/flake.nix +++ b/flake.nix @@ -43,7 +43,6 @@ system = "x86_64-linux"; config = { allowUnfree = true; - overlays = [ (import ./overlays/default.nix { inherit inputs; }) ]; }; }; lib = inputs.nixpkgs.lib // home-manager.lib; @@ -71,12 +70,12 @@ }; # ace = import ./hosts/ace/colmena.nix; # Acer C720 book = import ./hosts/book/colmena.nix; # Google Pixelbook 2017 w/ nvme. - # display = import ./hosts/display/colmena.nix; # Pi4 + display = import ./hosts/display/colmena.nix; # Pi4 # eve = import ./hosts/eve/colmena.nix; # Google Pixelbook 2017 w/ eMMC. fred = import ./hosts/fred/colmena.nix; # acer server loki = import ./hosts/loki/colmena.nix; # Dell XPS 13 # pi1 = import ./hosts/pi1/colmena.nix; - # pocket2 = import ./hosts/pocket2/colmena.nix; + pocket2 = import ./hosts/pocket2/colmena.nix; smaug = import ./hosts/smaug/colmena.nix; # Thinkpad x260 w1 = import ./hosts/w1/colmena.nix; # Hetzner VPS # w2 = import ./hosts/w2/colmena.nix; diff --git a/home/common/catppuccin.nix b/home/common/catppuccin.nix index 037cf3f..ab879a2 100644 --- a/home/common/catppuccin.nix +++ b/home/common/catppuccin.nix @@ -3,7 +3,6 @@ qt = { style = { }; }; catppuccin = { enable = true; - autoEnable = true; flavor = "mocha"; aerc = { enable = false; }; alacritty = { diff --git a/home/common/default.nix b/home/common/default.nix index 79d9655..5dfb7e1 100644 --- a/home/common/default.nix +++ b/home/common/default.nix @@ -17,7 +17,6 @@ ./newsboat.nix ./nixvim.nix # ./nvf.nix - ./pass.nix ./ssh.nix ./taskwarrior.nix ./topgrade.nix @@ -33,12 +32,10 @@ bluetui bottom cargo - catimg - chafa clock-rs compose2nix diff-so-fancy - elinks + # elinks # FIXME - does not build 2026-05-06 espeak-ng exiftool fastfetch @@ -46,7 +43,6 @@ ffmpeg figlet file - fresh-editor fzf gdu gh @@ -78,21 +74,11 @@ ncdu nchat neomutt - nil nmap notmuch pandoc pinentry-curses - # pipx # FIXME - not building 2026-05-26 - # See https://github.com/NixOS/nixpkgs/issues/522307 - (pipx.overridePythonAttrs (old: { - disabledTests = - (old.disabledTests or []) - ++ [ - "test_fix_package_name" - "test_parse_specifier_for_metadata" - ]; - })) + pipx ps_mem psmisc ranger @@ -133,9 +119,7 @@ }; gpg-agent = { enable = true; - maxCacheTtl = 604800; - defaultCacheTtl = 604800; - defaultCacheTtlSsh = 604800; + defaultCacheTtl = 1800; enableSshSupport = true; }; }; diff --git a/home/common/files/bash/bash_aliases b/home/common/files/bash/bash_aliases index 5e3bbc8..f2b404e 100755 --- a/home/common/files/bash/bash_aliases +++ b/home/common/files/bash/bash_aliases @@ -9,7 +9,6 @@ alias neofetch="fastfetch" alias vi="${EDITOR}" alias ip='COLORFGBG=";0" ip -c ' alias lg="lazygit" -alias pkhal="ikhal -d work" # Taskwarrior alias t=task diff --git a/home/common/files/bash/myapps b/home/common/files/bash/myapps index 89b7c5b..3947fe3 100644 --- a/home/common/files/bash/myapps +++ b/home/common/files/bash/myapps @@ -1,5 +1,5 @@ MAILTERMPROG=ghostty -TERMPROG=kitty +TERMPROG=ghostty MUSIC=sublime-music hostname=`hostname` WEB=qutebrowser diff --git a/home/common/files/neomutt/neomuttrc b/home/common/files/neomutt/neomuttrc index 3250f1e..ce37fab 100644 --- a/home/common/files/neomutt/neomuttrc +++ b/home/common/files/neomutt/neomuttrc @@ -11,24 +11,37 @@ auto_view text/html bind attach,compose Q exit bind attach,pager i exit bind editor complete-query -bind index sidebar-next -bind index sidebar-open -bind index sidebar-prev bind index x sync-mailbox -bind index,pager * flag-message bind index,pager / vfolder-from-query -bind index,pager R group-reply +bind index,pager * flag-message bind index,pager Y print-message bind index,pager c mail bind index,pager g change-folder bind index,pager n next-entry bind index,pager p previous-entry +bind index,pager R group-reply bind pager next-line bind pager previous-line bind pager C copy-message color indicator underline default default hdr_order Subject: From: Date: Reply-To: To: Cc: Bcc: X-Scan-Grey: X-Bugzilla-Watch-Reason: X-Label: List-Id: ignore * +macro attach K "unset wait_keyrm -f /tmp/events.ics/tmp/events.ics vkhal -k /tmp/events.ics" +macro attach,index,pager "!/home/don/bin/mbsync gmail-fast\n" "sync imap" +macro compose y "" 'Send message w/spell check' +macro generic \em ":source ~/.config/neomutt/neomuttrc\n" "reload ~/.muttrc" +macro index i "g!\n" "Goto Inbox" +macro index B 'toggle sidebar_visible' +macro index \t "g\r" +macro index,pager @ "=Inbox" "Ham it!" +macro index,pager A "khard add-email" "add the sender email address to khard" +# macro index,pager F "mutt2task=Followup" "Follow up" +macro index,pager O mail2obsidian +macro index,pager Q ":set quit=yes\nq" "Quit mutt without asking" +macro index,pager S "=SPAM" "Spam it!" +macro index,pager W mail2onenote +macro index,pager w emailtask +macro index,pager y "" "Archive" # macro index,pager "=snooze/1" # macro index,pager "=snooze/2" # macro index,pager "=snooze/3" @@ -36,58 +49,12 @@ ignore * # macro index,pager "=snooze/5" # macro index,pager "=snooze/6" # macro index,pager "=snooze/7" -# macro index,pager F "mutt2task=Followup" "Follow up" -# macro index,pager O mail2obsidian -# macro index,pager W mail2onenote -macro attach K "unset wait_keyrm -f /tmp/events.ics/tmp/events.ics vkhal -k /tmp/events.ics" -macro attach,index,pager "!/home/don/bin/mbsync gmail-fast\n" "sync imap" -macro compose y "" 'Send message w/spell check' -macro generic \em ":source ~/.config/neomutt/neomuttrc\n" "reload ~/.muttrc" -macro index B 'toggle sidebar_visible' -macro index \t "g\r" -macro index i "g!\n" "Goto Inbox" -macro index,pager A "khard add-email" "add the sender email address to khard" -macro index,pager Q ":set quit=yes\nq" "Quit mutt without asking" -macro index,pager w emailtask -macro pager B 'toggle sidebar_visible' +macro pager B 'toggle sidebar_visible' macro pager l "ql" "Goto index and limit" macro pager o ":set pipe_decode\n|urlscan --run-safe myweb --pipe -c -d\n:unset pipe_decode\n" "call urlscan to extract URLs out of a message" macro pager x "ix" "exit pager and sync mailbox" -################################################################################ -# mdir config -macro index,pager @ "=Inbox" "Ham it!" -macro index,pager S "=SPAM" "Spam it!" -macro index,pager y "" "Archive" mailboxes =Inbox =news =pen =mailing-lists =development =SPAM -set spoolfile=+Inbox -# set trash="+Trash" -set index_format="%2C %Z %[%m/%d %l:%M %P] %-20.20F | %s" - -################################################################################ -# notmuch config -# macro index,pager @ "-spam -new -unread +inbox" "Ham it!" -# macro index,pager N "-new -unread" -# macro index,pager S "+spam -new -unread -inbox=SPAM" "Spam it!" -# macro index,pager y "+archive -new -unread -inbox" -# macro index,pager d "-new -unread -inbox +deleted" -# bind index,pager \et modify-tags -# bind index,pager change-vfolder -# set nm_default_uri="notmuch:///home/don/Mail" # path to the maildir -# set virtual_spoolfile=yes # enable virtual folders -# set spoolfile=Inbox -# virtual-mailboxes "Inbox" "notmuch://?query=tag:inbox and NOT tag:archive and NOT tag:deleted" -# virtual-mailboxes "news" "notmuch://?query=tag:news and NOT tag:archive and NOT tag:deleted" -# virtual-mailboxes "pen" "notmuch://?query=tag:pen and NOT tag:archive and NOT tag:deleted" -# virtual-mailboxes "mailing-lists" "notmuch://?query=tag:mailing-lists and NOT tag:archive and NOT tag:deleted" -# virtual-mailboxes "development" "notmuch://?query=tag:development and NOT tag:archive and NOT tag:deleted" -# virtual-mailboxes "SPAM" "notmuch://?query=tag:SPAM and NOT tag:archive and NOT tag:deleted" -# virtual-mailboxes "Unread" "notmuch://?query=tag:unread" -# virtual-mailboxes "Starred" "notmuch://?query=tag:*" -# virtual-mailboxes "Sent" "notmuch://?query=tag:sent" -# sidebar_pin "Inbox" "news" "pen" "mailing-lists" "development" "SPAM" "Unread" "Starred" "Sent" -# set index_format="%2C %Z %[%m/%d %l:%M %P] %-20.20F (%g) | %s" -# ################################################################################ - +# =Followup reply-hook '~C don@donaldharper.com' 'my_hdr From: "Don Harper" ; my_hdr Reply-To: "Don Harper" ;set from="don@donaldharper.com"' reply-hook '~C don@donharper.org' 'my_hdr From: "Don Harper" ; my_hdr Reply-To: "Don Harper" ;set from="don@donharper.org"' reply-hook '~C donald.m.harper@gmail.com' 'my_hdr From: "Don Harper" ; my_hdr Reply-To: "Don Harper" ;set from="donald.m.harper@gmail.com"' @@ -131,6 +98,7 @@ set hidden_host set hostname="duckland.org" set implicit_autoview=yes set include=yes +set index_format="%2C %Z %[%m/%d %l:%M %P] %-20.20F | %s" set ispell="aspell -e -c" set mailcap_path=~/.config/neomutt/mailcap #set maildir_trash @@ -154,14 +122,16 @@ set reverse_name=yes set sendmail="/run/wrappers/bin/sendmail" set sendmail_wait=3 set sidebar_short_path -set sidebar_format = "%D %n %!" +set sidebar_format = "%B %n %!" set sidebar_new_mail_only set sort=threads set sort_aux=last-date-sent +set spoolfile=+Inbox set status_format="---Mutt: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Post:%p?%?b? Inc:%b? ]-%>-(%P)---" set status_on_top set timeout=10 set tmpdir="/var/tmp" +set trash="+Trash" set use_envelope_from=yes set wrap=-10 set write_inc=25 diff --git a/home/common/files/notmuch/post-new b/home/common/files/notmuch/post-new index ea5ccb5..bd71677 100755 --- a/home/common/files/notmuch/post-new +++ b/home/common/files/notmuch/post-new @@ -1,7 +1,5 @@ #!/usr/bin/env bash -afew --tag --all >> /dev/null 2>&1 -exit addtag() { tags="${1}" field="${2}" @@ -35,13 +33,12 @@ movetag() { } addtag aurora from "collegeboard@noreply.collegeboard.org" addtag kisd from "noreply@sportsyou.com bbstheatre@gmail.com do-not-reply@seesaw.me katyisd.org mail.remind.com no-reply@schoolnutritionandfitness.com noreply@mailer.sportsengine.com notifications@instructure.com webstores@revtrak.net" -addtag kisd List "100002107.xt.local" addtag uh from "donotreply@studentaid.gov hello@earnest.com hello@hello.earnest.com parents@uh.campusespmail.com reply@info.myfedloan.org uh.edu" -movetag development from "github.com outgoing@sr.ht gohugo.io" -movetag development List "59644032.naviterm.detoxify92.gitlab.com discourse.gohugo.io support.discourse.gohugo.io" -movetag mailing-lists from "keychron.com substack.com qutebrowser.org nabucasa.com noreply@bandcamp.com tom@newsletter.tomscott.com info@repebble.com news@shop.kobo.com hello@determinate.systems james@jamespopsys.com info@zmp.techtarget.com newsletter@popey.com noreply@mail.selfh.st parker.higgins@tailscale.com hello@redecentralize.org noreply@selfh.st no-reply@drivethrurpg.com no-reply@hello.charlestyrwhitt.com marketing@gc2b.info newsletters@bookshop.org contact@kickstargogo.com email@em.myaccountaccess.com do-not-reply@thangs.com TurboTax@em1.turbotax.intuit.com cincoconnect@engage.goenumerate.com all3dp.com amazon.com aur.archlinux.org drivethrucomics.com e.crm.lego.com e.honeywellhome.com emac.usaa.com email.tripit.com email1.roku.com freebirdsworldburrito.com gnty.com h1.hilton.com ianworthphotography.co.uk linkedin.com mailer.netflix.com me.kickstarter.com meetup.com mp1.tripadvisor.com nathan@nathanlowell.com nature.com penzeys.com photoephemeris.com planetary.org promotions.sprouts.com redditmail.com sherwoodforestfaire.com thanx.com townsq.io travel2.hiltongrandvacations.com tripit.com ttias.be uh.campusespmail.com xpsship.com ymcahouston.org youtube.com" +movetag development from "notifications@github.com outgoing@sr.ht" +movetag mailing-lists from "noreply@bandcamp.com tom@newsletter.tomscott.com info@repebble.com news@shop.kobo.com hello@determinate.systems james@jamespopsys.com designthinkingcomic@substack.com info@zmp.techtarget.com newsletter@popey.com noreply@mail.selfh.st parker.higgins@tailscale.com hello@redecentralize.org noreply@selfh.st no-reply@drivethrurpg.com no-reply@hello.charlestyrwhitt.com marketing@gc2b.info newsletters@bookshop.org contact@kickstargogo.com email@em.myaccountaccess.com do-not-reply@thangs.com TurboTax@em1.turbotax.intuit.com cincoconnect@engage.goenumerate.com all3dp.com amazon.com aur.archlinux.org drivethrucomics.com e.crm.lego.com e.honeywellhome.com emac.usaa.com email.tripit.com email1.roku.com freebirdsworldburrito.com gnty.com h1.hilton.com ianworthphotography.co.uk linkedin.com mailer.netflix.com me.kickstarter.com meetup.com mp1.tripadvisor.com nathan@nathanlowell.com nature.com penzeys.com photoephemeris.com planetary.org promotions.sprouts.com redditmail.com sherwoodforestfaire.com thanx.com townsq.io travel2.hiltongrandvacations.com tripit.com ttias.be uh.campusespmail.com xpsship.com ymcahouston.org youtube.com" movetag mailing-lists to "~rjarry/aerc-discuss@lists.sr.ht" -movetag mailing-lists List "019709108c5a5a76b2d015dd3d4db4262827bf3f.google.com 051b683089a9961268c16c3b8.186717.list-id.mcsv.net 100019430.xt.local 1021275.xt.local 4caf0a639e8acd8cf045f7bf9.972716.list-id.mcsv.net 50874e856d63dbc9da48f17f6.661209.list-id.mcsv.net 72a12beb88773f8d735b1ef60.728193.list-id.mcsv.net 78867590-91ca-400c-8788-54215beef097@mail.nabucasa.com a1d0492028bd019fd37c01eb6.77408.list-id.mcsv.net bc856e62a9254399365d0277b.444809.list-id.mcsv.net capone.1.0.sparkpostmail.com disneyplus.com docker.general.discourse.linuxserver.io e2bfda4c698819ae31aed58a4mc f452ec3bdbd6b3981f19e668amc micaelwidell.buttondown.email no-reply.ee111a3d.toast-restaurants.com.s1r1r-596yt.mj platformengineeringmonthly.substack.com qutebrowser.org" -movetag pen from "spacecitypenclub@gmail.com goldspot.com gouletpens.com penaddict.com inkjournal.com penchalet.com store+14054876@t.shopifyemail.com jetpens.com fprevolutionusa.com penrealm.com fountainpennetwork.com" -movetag news from "bbc.com theregister.co.uk email@washingtonpost.com email@nl.npr.org bbcnewsdaily@bbc.co.uk newsletters.cnn.com mailer.chron.com mailer.houstonchronicle.com" -movetag news List "281c839c990f42b374467ae5f.38179.list-id.mcsv.net 6424888.xt.local 7219534.xt.local NTg1OTQxNC00NzgtNA== a2e22d7f24f6d1e3464d05be4.330790.list-id.mcsv.net news.theregister.co.uk" +movetag news from "email@washingtonpost.com email@nl.npr.org bbcnewsdaily@bbc.co.uk newsletters.cnn.com mailer.chron.com mailer.houstonchronicle.com" +# query:"list:((281c839c990f42b374467ae5f.38179.list-id.mcsv.net 6424888.xt.local 7219534.xt.local NTg1OTQxNC00NzgtNA== a2e22d7f24f6d1e3464d05be4.330790.list-id.mcsv.net news.theregister.co.uk))" tag:[ "news" ] +# query:"list:((a1d0492028bd019fd37c01eb6.77408.list-id.mcsv.net 1021275.xt.local f452ec3bdbd6b3981f19e668amc e2bfda4c698819ae31aed58a4mc 4caf0a639e8acd8cf045f7bf9.972716.list-id.mcsv.net 72a12beb88773f8d735b1ef60.728193.list-id.mcsv.net 100019430.xt.local arch-announce.lists.archlinux.org arch-general.lists.archlinux.org arch-security.lists.archlinux.org capone.1.0.sparkpostmail.com docker.general.discourse.linuxserver.io micaelwidell.buttondown.email qutebrowser.lists.qutebrowser.org))" tag:[ "mailing-lists" ] +# query:"list:((discourse.gohugo.io support.discourse.gohugo.io OR 59644032.naviterm.detoxify92.gitlab.com))" tag:[ "development" ] +# query:"list:(100002107.xt.local)" tag:[ "kisd" ] diff --git a/home/common/mail.nix b/home/common/mail.nix index d3ed2ab..6bb3c44 100644 --- a/home/common/mail.nix +++ b/home/common/mail.nix @@ -24,53 +24,28 @@ }; }; - programs = { - afew = { - enable = true; - extraConfig = - '' - [FolderNameFilter] - # folder_explicit_list = aurora development kisd mailing-lists news pen Sent-Mail uh - # folder_blacklist = Inbox All-Mail Drafts Trash - folder_blacklist = All-Mail Trash - [SpamFilter] - [KillThreadsFilter] - [ListMailsFilter] - [ArchiveSentMailsFilter] - [InboxFilter] - ''; + programs.notmuch = { + enable = true; + new = { + tags = ["new" "unread" "inbox"]; + ignore = [ + ".mbsyncstate" + ".uidvalidity" + ".mbsyncstate.journal" + ".mbsyncstate.new" + ".mbsyncstate.lock" + ]; }; - notmuch = { - enable = true; - new = { - tags = ["new" "unread"]; - ignore = [ - ".mbsyncstate" - ".uidvalidity" - ".mbsyncstate.journal" - ".mbsyncstate.new" - ".mbsyncstate.lock" - ]; - }; - maildir = { - synchronizeFlags = true; - }; - extraConfig = { - index = { - "header.List" = "List-Id"; - }; - database = { - path = "/home/don/Mail"; - hook_dir = "/home/don/.config/notmuch/hooks"; - }; + maildir.synchronizeFlags = true; + extraConfig = { + database = { + path = "/home/don/Mail"; + hook_dir = "/home/don/.config/notmuch/hooks"; }; }; }; xdg.configFile."notmuch/hooks/post-new".source = ./files/notmuch/post-new; - # xdg.configFile."notmuch/hooks/post-new".text = '' - # ${pkgs.afew}/bin/afew --tag --all - # ''; xdg.configFile."neomutt/neomuttrc".source = ./files/neomutt/neomuttrc; xdg.configFile."neomutt/mailcap".source = ./files/neomutt/mailcap; diff --git a/home/common/pass.nix b/home/common/pass.nix deleted file mode 100644 index aa83027..0000000 --- a/home/common/pass.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ - osConfig, - pkgs, - lib, - ... -}: let - inherit (lib) mkIf; - inherit (osConfig) modules; - - sys = modules.system; -in { - config = { - programs = { - # password-store pass - password-store = { - enable = true; - package = pkgs.pass.withExtensions (exts: [exts.pass-otp exts.pass-audit exts.pass-update exts.pass-import]); - settings = { - PASSWORD_STORE_KEY = "CCD8E76F07EA701B"; - PASSWORD_STORE_CLIP_TIME = "30"; - PASSWORD_STORE_GENERATED_LENGTH = "120"; - PASSWORD_STORE_CHARACTER_SET = "A-Za-z0-9!@#$%"; - PASSWORD_STORE_CHARACTER_SET_NO_SYMBOLS = "A-Za-z0-9"; - PASSWORD_STORE_ENABLE_EXTENSIONS = "true"; - }; - }; - }; - - # services = { - # # Enable pass to integrate with the libsecret D-Bus API for password management - # pass-secret-service = { - # enable = true; - # }; - # }; - - # home.file.".config/pass-git-helper" = { - # source = ./git-pass-mapping; - # recursive = true; - # }; - }; -} diff --git a/home/common/pi-server.nix b/home/common/pi-server.nix index 8022930..87f487d 100644 --- a/home/common/pi-server.nix +++ b/home/common/pi-server.nix @@ -35,16 +35,7 @@ ncdu nmap pinentry-curses - # pipx # FIXME - not building 2026-05-26 - # See https://github.com/NixOS/nixpkgs/issues/522307 - (pipx.overridePythonAttrs (old: { - disabledTests = - (old.disabledTests or []) - ++ [ - "test_fix_package_name" - "test_parse_specifier_for_metadata" - ]; - })) + pipx ps_mem psmisc tmux diff --git a/home/common/topgrade.nix b/home/common/topgrade.nix index d7d6eec..2dc298c 100644 --- a/home/common/topgrade.nix +++ b/home/common/topgrade.nix @@ -36,7 +36,6 @@ repos = [ "~/bin" "~/nixos" - "~/.password-store" "~/src/WWW/sites/donaldharper.com" "~/src/WWW/sites/duckland.org" "~/.journalot" diff --git a/home/gui/default.nix b/home/gui/default.nix index a1cb5e0..3481d0b 100644 --- a/home/gui/default.nix +++ b/home/gui/default.nix @@ -40,11 +40,10 @@ with lib; ibm-plex imv jellyfin-media-player - # kdePackages.kwallet - # kdePackages.kwallet-pam libappindicator libnotify libreoffice-fresh + # libsForQt5.kwallet # FIXME - issues 2026-05-18 neovim-qt networkmanagerapplet nextcloud-client diff --git a/home/gui/librewolf.nix b/home/gui/librewolf.nix index 3a23355..2ae0859 100644 --- a/home/gui/librewolf.nix +++ b/home/gui/librewolf.nix @@ -3,22 +3,9 @@ pkgs, ... }: { - - # password-store extensions for browsers - # you need to install the browser extension for this to work - # https://github.com/browserpass/browserpass-extension - programs.browserpass = { - enable = true; - browsers = [ - # "chrome" - # "chromium" - "firefox" - ]; - }; programs.firefox = { enable = true; # package = pkgs.librewolf; - configPath = "${config.xdg.configHome}/mozilla/firefox"; package = pkgs.firefox.override { nativeMessagingHosts = [ pkgs.tridactyl-native diff --git a/home/gui/qutebrowser.nix b/home/gui/qutebrowser.nix index e8d219f..3d32a38 100644 --- a/home/gui/qutebrowser.nix +++ b/home/gui/qutebrowser.nix @@ -13,9 +13,7 @@ ",M" = "spawn --userscript mealie"; ",N" = "spawn --userscript saveurl"; ",O" = "spawn --userscript obsidian-import-lite"; - ",P" = "spawn --userscript qute-pass --password-only"; ",R" = "spawn --userscript obsidian-import -r"; - ",T" = "spawn --userscript qute-bitwarden --totp-only"; ",U" = "spawn --userscript sendurl"; ",V" = "hint links spawn myweb {hint-url}"; ",d" = "spawn --userscript open_download"; @@ -24,7 +22,7 @@ ",n" = ''config-cycle content.user_stylesheets /home/don/src/solarized-everything-css/css/mine.css ""''; ",o" = "spawn --userscript obsidian-import"; ",r" = "spawn --userscript recipe"; - ",t" = "spawn --userscript qute-pass --otp-only"; + ",t" = "spawn --userscript qute-bitwarden --totp-only"; ",u" = "spawn --userscript sendphone"; ",v" = "spawn /home/don/bin/myweb {url}"; ",w" = "cmd-set-text -s :spawn --userscript taskadd"; @@ -109,6 +107,7 @@ nebula = "https://watchnebula.com/featured"; netalert = "http://harper:20211/devices.php"; netflix = "https://www.netflix.com/browse"; + newrecipe = "https://mealie.trex-halfbeak.ts.net/g/home/r/create/url"; newrss = "https://rss.trex-halfbeak.ts.net/i/?c=subscription&a=add"; nix-config = "https://nixos.org/manual/nixos/stable/options.html"; nix-dev = "https://nix.dev/"; @@ -124,11 +123,8 @@ octoprint = "http://octopi/?#temp"; orders = "https://www.amazon.com/gp/css/order-history?ref_=nav_orders_first"; penchalet = "https://www.penchalet.com/"; - pencultpens = "https://cultpens.com/"; pendromgooles = "https://www.dromgooles.com/"; pengoulet = "https://www.gouletpens.com/"; - penjetpens = "https://www.jetpens.com"; - penstationerywiki = "https://stationery.wiki/Main_Page"; photos = "https://photos.trex-halfbeak.ts.net/"; pi = "http://pihole/admin/"; pinchflat = "http://harper:8945/"; @@ -247,15 +243,6 @@ command = ["${pkgs.foot}/bin/foot" "-e" "ranger" "--choosefile={}"]; }; }; - fonts = { - default_size = "12px"; - web = { - size = { - default = 24; - default_fixed = 20; - }; - }; - }; qt = { workarounds = {remove_service_workers = true;}; }; diff --git a/home/gui/sway.nix b/home/gui/sway.nix index befdba7..22d02d6 100644 --- a/home/gui/sway.nix +++ b/home/gui/sway.nix @@ -5,12 +5,9 @@ outputs, config, ... -} @args: let - _osConfig = if args ? osConfig then args.osConfig else args.config; - swayScale = if _osConfig.variables ? swayScale then _osConfig.variables.swayScale else 1; -in { +} @args: { xdg.configFile."sway/config".text = '' - # For ${_osConfig.networking.hostName} + # For ${(if args ? osConfig then args.osConfig else args.config).networking.hostName} set $mod Mod1 set $terminal_path /home/don/bin/mynewterm set $snd_sink alsa_output.usb-Corsair_CORSAIR_VOID_ELITE_Wireless_Gaming_Dongle-00.iec958-stereo @@ -32,7 +29,7 @@ in { workspace_auto_back_and_forth yes set $laptop eDP-1 - output $laptop scale ${toString swayScale} + output $laptop scale ${(if args ? osConfig then args.osConfig else args.config).variables.swayScale} output * bg /home/don/nixos/hosts/fan-table-device-box-wallpaper.jpg fill bindswitch --reload --locked lid:on output $laptop disable bindswitch --reload --locked lid:off output $laptop enable @@ -310,8 +307,8 @@ in { exec_always ${pkgs.shikane}/bin/shikanectl reload exec ${pkgs.foot}/bin/foot -W 36x22 -T ttmenu -f "Courier New:size=12" -e ttmenu-loop seat * hide_cursor 8000 - # exec ${pkgs.systemd}/bin/systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK - # exec ${pkgs.dbus}/bin/dbus-update-activation-environment --all 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK + exec ${pkgs.systemd}/bin/systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK + exec ${pkgs.dbus}/bin/dbus-update-activation-environment --all 2>/dev/null && dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK exec ${pkgs.udiskie}/bin/udiskie exec ${pkgs.wl-clipboard}/bin/wl-paste -t text --watch clipman store exec ~/bin/auto-start @@ -324,7 +321,6 @@ in { exec ${pkgs.headset-charge-indicator}/bin/headset-charge-indicator.py exec ${pkgs.wlsunset}/bin/wlsunset -l 29.7 -L -95.8 # exec ${pkgs.blueman}/bin/blueman-applet - include /etc/sway/config.d/* ''; programs = { diff --git a/hosts/ace/default.nix b/hosts/ace/default.nix index 1d25f70..090c9e1 100644 --- a/hosts/ace/default.nix +++ b/hosts/ace/default.nix @@ -1,10 +1,17 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { imports = [ - ../templates/workstation.nix inputs.sops-nix.nixosModules.sops ./hardware-configuration.nix + # ../disko/mmcblk.nix + ../workstation ]; - networking.hostName = "ace"; variables.swayScale = "0.75"; @@ -12,5 +19,5 @@ gui.enable = true; kmscon.enable = true; }; - wm.sway.enable = true; + wm = {sway.enable = true;}; } diff --git a/hosts/book/default.nix b/hosts/book/default.nix index 5cb3d3f..fc7d9e4 100644 --- a/hosts/book/default.nix +++ b/hosts/book/default.nix @@ -5,10 +5,12 @@ ./hardware-configuration.nix ]; + # Host-specific configuration networking.hostName = "book"; variables.address = "100.72.121.75"; variables.swayScale = "1.5"; + # Enable roles for this host roles = { gui.enable = true; kmscon.enable = true; diff --git a/hosts/common/networking.nix b/hosts/common/networking.nix index d4ab1c5..973d25f 100644 --- a/hosts/common/networking.nix +++ b/hosts/common/networking.nix @@ -7,7 +7,7 @@ dhcpcd.enable = false; firewall = { enable = true; - trustedInterfaces = ["tailscale0" "wt0"]; + trustedInterfaces = ["tailscale0"]; checkReversePath = "loose"; allowedUDPPorts = [config.services.tailscale.port]; allowedTCPPortRanges = [ @@ -22,7 +22,7 @@ to = 1764; } ]; - allowedTCPPorts = [22 80 443 8384]; + allowedTCPPorts = [22 80 443]; }; nameservers = [ "1.1.1.1" diff --git a/hosts/display/default.nix b/hosts/display/default.nix index 0e19e64..a81425a 100644 --- a/hosts/display/default.nix +++ b/hosts/display/default.nix @@ -6,6 +6,7 @@ ./kiosk.nix ]; + # Host-specific configuration networking.hostName = "display"; variables.address = "100.72.208.107"; diff --git a/hosts/dragon/default.nix b/hosts/dragon/default.nix index 1500efb..03b7149 100644 --- a/hosts/dragon/default.nix +++ b/hosts/dragon/default.nix @@ -1,11 +1,17 @@ -{ inputs, config, pkgs, ... }: { +{ + inputs, + config, + pkgs, + ... +}: { imports = [ - inputs.nixos-hardware.nixosModules.framework-amd-ai-300-series + inputs.sops-nix.nixosModules.sops + ./hardware-configuration.nix inputs.nixos-hardware.nixosModules.common-cpu-intel inputs.nixos-hardware.nixosModules.common-gpu-intel inputs.nixos-hardware.nixosModules.common-pc-laptop inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd - ./hardware-configuration.nix + ../workstation ]; networking.hostName = "dragon"; variables.swayScale = "1.0"; @@ -15,5 +21,5 @@ kmscon.enable = true; auto-cpufreq.enable = true; }; - wm.sway.enable = true; + wm = {sway.enable = true;}; } diff --git a/hosts/eve/default.nix b/hosts/eve/default.nix index 5c9705b..54bc6a9 100644 --- a/hosts/eve/default.nix +++ b/hosts/eve/default.nix @@ -1,11 +1,18 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { imports = [ - ../templates/workstation.nix inputs.nixos-hardware.nixosModules.google-pixelbook inputs.sops-nix.nixosModules.sops ./hardware-configuration.nix + # ../disko/mmcblk.nix + ../workstation ]; - networking.hostName = "eve"; variables.swayScale = "1.5"; @@ -15,5 +22,5 @@ kmscon.enable = true; auto-cpufreq.enable = true; }; - wm.sway.enable = true; + wm = {sway.enable = true;}; } diff --git a/hosts/fred/default.nix b/hosts/fred/default.nix index 91e0629..eef7a6f 100644 --- a/hosts/fred/default.nix +++ b/hosts/fred/default.nix @@ -1,22 +1,31 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { imports = [ - ../templates/server.nix + inputs.sops-nix.nixosModules.sops ./hardware-configuration.nix + ../server ./docker.nix + # ./podman.nix + # ../server/unifi.nix ]; - networking.hostName = "fred"; variables.address = "100.72.236.170"; - # boot = { - # binfmt.emulatedSystems = lib.optionals (pkgs.stdenv.hostPlatform.system != "aarch64-linux") [ "aarch64-linux" ]; - # loader = { - # systemd-boot = {enable = true;}; - # efi = { - # canTouchEfiVariables = true; - # efiSysMountPoint = "/boot"; - # }; - # }; - # }; + boot = { + binfmt.emulatedSystems = lib.optionals (pkgs.stdenv.hostPlatform.system != "aarch64-linux") [ "aarch64-linux" ]; + loader = { + systemd-boot = {enable = true;}; + efi = { + canTouchEfiVariables = true; + efiSysMountPoint = "/boot"; + }; + }; + }; primary.enable = true; } diff --git a/hosts/harper/default.nix b/hosts/harper/default.nix index 5ddcd92..541f633 100644 --- a/hosts/harper/default.nix +++ b/hosts/harper/default.nix @@ -1,7 +1,15 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { imports = [ - ../templates/server.nix + inputs.sops-nix.nixosModules.sops ./hardware-configuration.nix + ../server ]; networking.hostName = "harper"; variables.address = "100.72.0.3"; diff --git a/hosts/harper2/default.nix b/hosts/harper2/default.nix index 2045a87..31ea45b 100644 --- a/hosts/harper2/default.nix +++ b/hosts/harper2/default.nix @@ -1,7 +1,15 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { imports = [ - ../templates/server.nix + inputs.sops-nix.nixosModules.sops ./hardware-configuration.nix + ../server ]; networking.hostName = "harper2"; variables.address = "100.72.0.4"; diff --git a/hosts/loki/default.nix b/hosts/loki/default.nix index 08a7b61..accec6c 100644 --- a/hosts/loki/default.nix +++ b/hosts/loki/default.nix @@ -5,10 +5,12 @@ ./hardware-configuration.nix ]; + # Host-specific configuration networking.hostName = "loki"; variables.address = "100.72.0.1"; variables.swayScale = "1.2"; + # Enable roles for this host roles = { citrix.enable = true; zoom.enable = true; diff --git a/hosts/nuwww/default.nix b/hosts/nuwww/default.nix index 4406de5..d937c37 100644 --- a/hosts/nuwww/default.nix +++ b/hosts/nuwww/default.nix @@ -1,7 +1,15 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { imports = [ - ../templates/server.nix + inputs.sops-nix.nixosModules.sops ./hardware-configuration.nix + ../server ]; networking.hostName = "nuwww"; variables.address = "100.72.2.1"; diff --git a/hosts/pi1/default.nix b/hosts/pi1/default.nix index f8707df..f6dc824 100644 --- a/hosts/pi1/default.nix +++ b/hosts/pi1/default.nix @@ -1,6 +1,13 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { imports = [ - ../templates/server.nix + inputs.sops-nix.nixosModules.sops ./hardware-configuration.nix ../pi-server ./kiosk.nix diff --git a/hosts/pihole/default.nix b/hosts/pihole/default.nix index ce3506a..10b0b41 100644 --- a/hosts/pihole/default.nix +++ b/hosts/pihole/default.nix @@ -1,7 +1,15 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { imports = [ - ../templates/server.nix + inputs.sops-nix.nixosModules.sops ./hardware-configuration.nix + ../server ]; networking.hostName = "pihole"; } diff --git a/hosts/pocket2/default.nix b/hosts/pocket2/default.nix index 7b731ed..fef4063 100644 --- a/hosts/pocket2/default.nix +++ b/hosts/pocket2/default.nix @@ -1,21 +1,32 @@ -{ inputs, outputs, libs, config, pkgs, ... }: { +{ + inputs, + outputs, + libs, + config, + pkgs, + ... +}: { imports = [ - ../templates/workstation.nix + inputs.sops-nix.nixosModules.sops + ./hardware-configuration.nix inputs.nixos-hardware.nixosModules.common-cpu-intel inputs.nixos-hardware.nixosModules.common-gpu-intel inputs.nixos-hardware.nixosModules.common-pc-laptop inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd - ./hardware-configuration.nix + ../workstation ]; - networking.hostName = "pocket2"; variables.address = "192.168.1.12"; variables.swayScale = "1.7"; roles = { + citrix.enable = false; + zoom.enable = false; gui.enable = true; kmscon.enable = true; + games.enable = false; + auto-cpufreq.enable = false; gnome-calendar.enable = true; }; - wm.sway.enable = true; + wm = {sway.enable = true;}; } diff --git a/hosts/server/default.nix b/hosts/server/default.nix index fcfabf6..219ad8b 100644 --- a/hosts/server/default.nix +++ b/hosts/server/default.nix @@ -79,9 +79,6 @@ in { }; services = { - netbird = { - enable = true; - }; pcscd = {enable = true;}; beszel-agent = {enable = true;}; avahi = { diff --git a/hosts/smaug/default.nix b/hosts/smaug/default.nix index c6bafd4..1bda0c8 100644 --- a/hosts/smaug/default.nix +++ b/hosts/smaug/default.nix @@ -1,13 +1,20 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { imports = [ - ../templates/workstation.nix inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x260 inputs.nixos-hardware.nixosModules.common-pc-laptop inputs.nixos-hardware.nixosModules.common-pc-ssd inputs.sops-nix.nixosModules.sops ./hardware-configuration.nix + # ../disko/sda.nix + ../workstation ]; - networking.hostName = "smaug"; variables.address = "100.72.248.81"; variables.swayScale = "0.75"; @@ -15,7 +22,8 @@ roles = { gui.enable = true; kmscon.enable = true; + auto-cpufreq.enable = true; gnome-calendar.enable = true; }; - wm.sway.enable = true; + wm = {sway.enable = true;}; } diff --git a/hosts/templates/pi-server.nix b/hosts/templates/pi-server.nix deleted file mode 100644 index a18edde..0000000 --- a/hosts/templates/pi-server.nix +++ /dev/null @@ -1,24 +0,0 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { - imports = [ - inputs.sops-nix.nixosModules.sops - ../server - ../systemd-primary.nix - ../common/boot.nix - ../common/networking.nix - ../common/tailscale.nix - ../../home/pi-server.nix - ../../modules/beszel-agent.nix - ]; - - config = { - # Common server setup - nix.settings.trusted-users = ["root" "don"]; - - # Server-specific Nix settings - nix.gc = { - automatic = true; - dates = "daily"; - options = "--delete-older-than 7d"; - }; - }; -} diff --git a/hosts/templates/server.nix b/hosts/templates/server.nix index 0e9193d..eeaa788 100644 --- a/hosts/templates/server.nix +++ b/hosts/templates/server.nix @@ -2,11 +2,10 @@ imports = [ inputs.sops-nix.nixosModules.sops ../server - ../systemd-primary.nix ../common/boot.nix ../common/networking.nix ../common/tailscale.nix - ../../home + ../../home/pi-server.nix ../../modules/beszel-agent.nix ]; @@ -21,4 +20,4 @@ options = "--delete-older-than 7d"; }; }; -} +} \ No newline at end of file diff --git a/hosts/templates/workstation.nix b/hosts/templates/workstation.nix index bf28d65..6d80f66 100644 --- a/hosts/templates/workstation.nix +++ b/hosts/templates/workstation.nix @@ -3,7 +3,6 @@ inputs.sops-nix.nixosModules.sops ../roles ../../modules - ../systemd-primary.nix ../workstation ../common ../wm/sway diff --git a/hosts/w1/default.nix b/hosts/w1/default.nix index 52eb97f..2347dfb 100644 --- a/hosts/w1/default.nix +++ b/hosts/w1/default.nix @@ -1,25 +1,32 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { imports = [ - ../templates/server.nix + inputs.sops-nix.nixosModules.sops ./hardware-configuration.nix - ../../modules/headscale.nix - # ../../modules/netbird.nix - # ./podman.nix + ./network.nix + ../server + ./podman.nix + # ../server/searxng.nix ]; - networking.hostName = "w1"; variables.address = "100.72.16.240"; - # boot = { - # initrd = { - # availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"]; - # kernelModules = ["nvme"]; - # }; - # loader = { - # grub = { - # enable = true; - # device = "/dev/sda"; - # efiSupport = false; - # }; - # }; - # }; + boot = { + initrd = { + availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"]; + kernelModules = ["nvme"]; + }; + loader = { + grub = { + enable = true; + device = "/dev/sda"; + efiSupport = false; + }; + }; + }; } diff --git a/hosts/w2/default.nix b/hosts/w2/default.nix index 254c8b4..56b798d 100644 --- a/hosts/w2/default.nix +++ b/hosts/w2/default.nix @@ -1,20 +1,30 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { imports = [ - ../templates/server.nix + inputs.sops-nix.nixosModules.sops ./hardware-configuration.nix + ./network.nix + ../server + # ../server/searxng.nix ]; networking.hostName = "w1"; - # boot = { - # initrd = { - # availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"]; - # kernelModules = ["nvme"]; - # }; - # loader = { - # grub = { - # enable = true; - # device = "/dev/sda"; - # efiSupport = false; - # }; - # }; - # }; + boot = { + initrd = { + availableKernelModules = ["ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi"]; + kernelModules = ["nvme"]; + }; + loader = { + grub = { + enable = true; + device = "/dev/sda"; + efiSupport = false; + }; + }; + }; } diff --git a/hosts/wm/sway/default.nix b/hosts/wm/sway/default.nix index 5dcb4f8..ea150ce 100644 --- a/hosts/wm/sway/default.nix +++ b/hosts/wm/sway/default.nix @@ -54,10 +54,6 @@ in { wofi ]; services.dbus.enable = true; - security.pam.services = { - greetd.enableGnomeKeyring = true; - swaylock.enableGnomeKeyring = true; - }; programs = { sway = { enable = true; diff --git a/hosts/workstation/default.nix b/hosts/workstation/default.nix index 41dc6b0..f4254dc 100644 --- a/hosts/workstation/default.nix +++ b/hosts/workstation/default.nix @@ -43,6 +43,7 @@ in { ../themes.nix ./detect-reboot-needed.nix ./kmscon.nix + # ./ollama.nix # FIXME ./lmstudio.nix ./systemd.nix ../systemd-primary.nix @@ -159,9 +160,6 @@ in { powerManagement.powertop.enable = true; services = { - netbird = { - enable = true; - }; power-profiles-daemon.enable = false; avahi = { enable = true; @@ -209,8 +207,7 @@ in { }; printing = { enable = true; - # drivers = [pkgs.hplipWithPlugin]; - drivers = with pkgs; [ gutenprint hplip splix ]; + drivers = [pkgs.hplipWithPlugin]; }; pulseaudio = {enable = false;}; tailscale = {enable = true;}; @@ -347,9 +344,6 @@ in { enable = true; pinentryPackage = pkgs.pinentry-curses; enableSSHSupport = true; - settings = { - default-cache-ttl = 604800; - }; }; }; }; diff --git a/hosts/workstation/kmscon.nix b/hosts/workstation/kmscon.nix index f6b8b69..d17769e 100644 --- a/hosts/workstation/kmscon.nix +++ b/hosts/workstation/kmscon.nix @@ -7,23 +7,27 @@ in { services = { kmscon = { enable = true; - config = { - font-name = "FiraCode Nerd Font Mono"; - font-size=18; - # palette=custom - # palette-black=33, 34, 44 - # palette-cyan=128, 255, 234 - # palette-dark-grey=182, 185, 201 - # palette-green=138, 255, 128 - # palette-dark-grey=65, 69, 88 - # palette-light-grey=98, 103, 132 - # palette-light-green=208, 255, 204 - # palette-light-red=255, 212, 204 - # palette-light-yellow=255, 255, 204 - # palette-red=255, 149, 128 - # palette-white=248, 248, 242 - # palette-yellow=255, 255, 128 - }; + fonts = [{ + # name = "Source Code Pro"; + name = "FiraCode Nerd Font Mono"; + package = pkgs.nerd-fonts.fira-code; + }]; + extraConfig = '' + font-size=18 + palette=custom + palette-black=33, 34, 44 + palette-cyan=128, 255, 234 + palette-dark-grey=182, 185, 201 + palette-green=138, 255, 128 + palette-dark-grey=65, 69, 88 + palette-light-grey=98, 103, 132 + palette-light-green=208, 255, 204 + palette-light-red=255, 212, 204 + palette-light-yellow=255, 255, 204 + palette-red=255, 149, 128 + palette-white=248, 248, 242 + palette-yellow=255, 255, 128 + ''; }; }; }; diff --git a/hosts/www2/default.nix b/hosts/www2/default.nix index dc8e403..84bde36 100644 --- a/hosts/www2/default.nix +++ b/hosts/www2/default.nix @@ -1,8 +1,11 @@ -{ inputs, outputs, lib, config, pkgs, ... }: { - imports = [ - ../templates/server.nix - ./hardware-configuration.nix - ]; - +{ + inputs, + outputs, + lib, + config, + pkgs, + ... +}: { + imports = [inputs.sops-nix.nixosModules.sops ./hardware-configuration.nix ../server]; networking.hostName = "www2"; } diff --git a/modules/headscale.nix b/modules/headscale.nix deleted file mode 100644 index 2154b41..0000000 --- a/modules/headscale.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: with lib; let - domain = "head.nb.duckland.net"; -in { - services = { - headscale = { - enable = true; - settings = { - server_url = "http://head.nb.duckland.net"; - dns = { - base_domain = "nb.duckland.net"; - nameservers = { - global = [ "1.1.1.1" "1.0.0.1" "2606:4700:4700::1111" "2606:4700:4700::1001" ]; - }; - }; - }; - }; - }; -} diff --git a/modules/netbird.nix b/modules/netbird.nix deleted file mode 100644 index 34bf626..0000000 --- a/modules/netbird.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: { - services.netbird.server = { - enable = true; - domain = "nb.duckland.net"; - enableNginx = true; - dashboard = { - enable = false; - domain = "nb.duckland.net"; - enableNginx = true; - }; - management = { - enable = true; - domain = "nb.duckland.net"; - enableNginx = true; - dnsDomain = "duckland"; - }; - signal = { - enable = true; - domain = "nb.duckland.net"; - enableNginx = true; - }; - }; -} diff --git a/overlays/default.nix b/overlays/default.nix index 2c60684..0a7bd7f 100644 --- a/overlays/default.nix +++ b/overlays/default.nix @@ -3,8 +3,10 @@ final: prev: { zoom-us = prev.zoom-us.overrideAttrs (old: { versions.x86_64-linux = "6.3.1.5673"; src.x86_64-linux = fetchurl { - url = "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz"; - hash = "sha256-e3b31bba6a540ee58d056cccd8107a00f193dec1a327d6a019e22fdda33649cf="; + url = + "https://zoom.us/client/${versions.x86_64-linux}/zoom_x86_64.pkg.tar.xz"; + hash = + "sha256-e3b31bba6a540ee58d056cccd8107a00f193dec1a327d6a019e22fdda33649cf="; }; }); } diff --git a/src/linuxx64-25.03.0.66.tar.gz b/src/linuxx64-25.03.0.66.tar.gz new file mode 100644 index 0000000..483788b Binary files /dev/null and b/src/linuxx64-25.03.0.66.tar.gz differ diff --git a/src/linuxx64-25.05.0.44.tar.gz b/src/linuxx64-25.05.0.44.tar.gz new file mode 100644 index 0000000..030381c Binary files /dev/null and b/src/linuxx64-25.05.0.44.tar.gz differ diff --git a/src/linuxx64-25.08.0.88.tar.gz b/src/linuxx64-25.08.0.88.tar.gz new file mode 100644 index 0000000..67134ef Binary files /dev/null and b/src/linuxx64-25.08.0.88.tar.gz differ