Compare commits

..

No commits in common. "main" and "2026-05-20" have entirely different histories.

48 changed files with 350 additions and 496 deletions

2
.gitignore vendored
View file

@ -19,5 +19,3 @@
result
*.qcow2
nixos-switch.log
*.org
*.orig

135
flake.lock generated
View file

@ -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": {

View file

@ -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;

View file

@ -3,7 +3,6 @@
qt = { style = { }; };
catppuccin = {
enable = true;
autoEnable = true;
flavor = "mocha";
aerc = { enable = false; };
alacritty = {

View file

@ -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;
};
};

View file

@ -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

View file

@ -1,5 +1,5 @@
MAILTERMPROG=ghostty
TERMPROG=kitty
TERMPROG=ghostty
MUSIC=sublime-music
hostname=`hostname`
WEB=qutebrowser

View file

@ -11,24 +11,37 @@ auto_view text/html
bind attach,compose Q exit
bind attach,pager i exit
bind editor <Tab> complete-query
bind index <f1> sidebar-next
bind index <f2> sidebar-open
bind index <f3> 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 <down> next-line
bind pager <up> 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 "<enter-command>unset wait_key<enter><shell-escape>rm -f /tmp/events.ics<enter><save-entry><kill-line>/tmp/events.ics<enter><shell-escape> vkhal -k /tmp/events.ics<enter>"
macro attach,index,pager <f9> "!/home/don/bin/mbsync gmail-fast\n" "sync imap"
macro compose y "<ispell><send-message>" '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 '<enter-command>toggle sidebar_visible<enter><refresh>'
macro index \t "g\r"
macro index,pager @ "<save-message>=Inbox<enter>" "Ham it!"
macro index,pager A "<pipe-message>khard add-email<return>" "add the sender email address to khard"
# macro index,pager F "<pipe-message>mutt2task<enter><save-message>=Followup<enter>" "Follow up"
macro index,pager O <pipe-message>mail2obsidian<enter>
macro index,pager Q ":set quit=yes\nq" "Quit mutt without asking"
macro index,pager S "<save-message>=SPAM<enter>" "Spam it!"
macro index,pager W <pipe-message>mail2onenote<enter>
macro index,pager w <pipe-message>emailtask<enter>
macro index,pager y "<save-message><enter>" "Archive"
# macro index,pager <f1> "<save-message>=snooze/1<enter>"
# macro index,pager <f2> "<save-message>=snooze/2<enter>"
# macro index,pager <f3> "<save-message>=snooze/3<enter>"
@ -36,58 +49,12 @@ ignore *
# macro index,pager <f5> "<save-message>=snooze/5<enter>"
# macro index,pager <f6> "<save-message>=snooze/6<enter>"
# macro index,pager <f7> "<save-message>=snooze/7<enter>"
# macro index,pager F "<pipe-message>mutt2task<enter><save-message>=Followup<enter>" "Follow up"
# macro index,pager O <pipe-message>mail2obsidian<enter>
# macro index,pager W <pipe-message>mail2onenote<enter>
macro attach K "<enter-command>unset wait_key<enter><shell-escape>rm -f /tmp/events.ics<enter><save-entry><kill-line>/tmp/events.ics<enter><shell-escape> vkhal -k /tmp/events.ics<enter>"
macro attach,index,pager <f9> "!/home/don/bin/mbsync gmail-fast\n" "sync imap"
macro compose y "<ispell><send-message>" 'Send message w/spell check'
macro generic \em ":source ~/.config/neomutt/neomuttrc\n" "reload ~/.muttrc"
macro index B '<enter-command>toggle sidebar_visible<enter><refresh>'
macro index \t "g\r"
macro index i "g!\n" "Goto Inbox"
macro index,pager A "<pipe-message>khard add-email<return>" "add the sender email address to khard"
macro index,pager Q ":set quit=yes\nq" "Quit mutt without asking"
macro index,pager w <pipe-message>emailtask<enter>
macro pager B '<enter-command>toggle sidebar_visible<enter><redraw-screen>'
macro pager B '<enter-command>toggle sidebar_visible<enter><redraw-screen>'
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 @ "<save-message>=Inbox<enter>" "Ham it!"
macro index,pager S "<save-message>=SPAM<enter>" "Spam it!"
macro index,pager y "<save-message><enter>" "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 @ "<modify-labels>-spam -new -unread +inbox<enter><sync-mailbox>" "Ham it!"
# macro index,pager N "<modify-labels>-new -unread<enter><sync-mailbox>"
# macro index,pager S "<modify-labels>+spam -new -unread -inbox<enter><sync-mailbox><save-message>=SPAM<enter>" "Spam it!"
# macro index,pager y "<modify-labels>+archive -new -unread -inbox<enter><sync-mailbox>"
# macro index,pager d "<modify-labels>-new -unread -inbox +deleted<enter><previous-entry><delete-message>"
# bind index,pager \et modify-tags
# bind index,pager <TAB> 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" <don@donaldharper.com>; my_hdr Reply-To: "Don Harper" <don@donaldharper.com>;set from="don@donaldharper.com"'
reply-hook '~C don@donharper.org' 'my_hdr From: "Don Harper" <don@donharper.org>; my_hdr Reply-To: "Don Harper" <don@donharper.org>;set from="don@donharper.org"'
reply-hook '~C donald.m.harper@gmail.com' 'my_hdr From: "Don Harper" <donald.m.harper@gmail.com>; my_hdr Reply-To: "Don Harper" <donald.m.harper@gmail.com>;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

View file

@ -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" ]

View file

@ -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;

View file

@ -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;
# };
};
}

View file

@ -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

View file

@ -36,7 +36,6 @@
repos = [
"~/bin"
"~/nixos"
"~/.password-store"
"~/src/WWW/sites/donaldharper.com"
"~/src/WWW/sites/duckland.org"
"~/.journalot"

View file

@ -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

View file

@ -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

View file

@ -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;};
};

View file

@ -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 = {

View file

@ -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;};
}

View file

@ -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;

View file

@ -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"

View file

@ -6,6 +6,7 @@
./kiosk.nix
];
# Host-specific configuration
networking.hostName = "display";
variables.address = "100.72.208.107";

View file

@ -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;};
}

View file

@ -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;};
}

View file

@ -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;
}

View file

@ -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";

View file

@ -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";

View file

@ -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;

View file

@ -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";

View file

@ -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

View file

@ -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";
}

View file

@ -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;};
}

View file

@ -79,9 +79,6 @@ in {
};
services = {
netbird = {
enable = true;
};
pcscd = {enable = true;};
beszel-agent = {enable = true;};
avahi = {

View file

@ -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;};
}

View file

@ -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";
};
};
}

View file

@ -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";
};
};
}
}

View file

@ -3,7 +3,6 @@
inputs.sops-nix.nixosModules.sops
../roles
../../modules
../systemd-primary.nix
../workstation
../common
../wm/sway

View file

@ -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;
};
};
};
}

View file

@ -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;
};
};
};
}

View file

@ -54,10 +54,6 @@ in {
wofi
];
services.dbus.enable = true;
security.pam.services = {
greetd.enableGnomeKeyring = true;
swaylock.enableGnomeKeyring = true;
};
programs = {
sway = {
enable = true;

View file

@ -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;
};
};
};
};

View file

@ -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
'';
};
};
};

View file

@ -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";
}

View file

@ -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" ];
};
};
};
};
};
}

View file

@ -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;
};
};
}

View file

@ -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=";
};
});
}

Binary file not shown.

Binary file not shown.

Binary file not shown.