Squash merge main into testing
This commit is contained in:
parent
3cf83fb118
commit
c27f617078
22 changed files with 334 additions and 289 deletions
74
flake.lock
generated
74
flake.lock
generated
|
|
@ -25,11 +25,11 @@
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758270360,
|
"lastModified": 1762198582,
|
||||||
"narHash": "sha256-yqh6EEhlpVWRoKl85o1s+QZ72UHWTvornnc3C0Ls484=",
|
"narHash": "sha256-P9giW/1Crn7ekQt4YIbONJ/hKFaHkTwyhz82FCjh+OM=",
|
||||||
"owner": "catppuccin",
|
"owner": "catppuccin",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "2e0aacdd6abbecd1b1c0511a2fcd1460a6bc6645",
|
"rev": "08716214674ca27914daa52e6fa809cc022b581e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -49,11 +49,11 @@
|
||||||
"stable": "stable"
|
"stable": "stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1755272288,
|
"lastModified": 1762034856,
|
||||||
"narHash": "sha256-ypTPb2eKcOBbOoyvPV0j4ZOXs4kayo73/2KI456QnE0=",
|
"narHash": "sha256-QVey3iP3UEoiFVXgypyjTvCrsIlA4ecx6Acaz5C8/PQ=",
|
||||||
"owner": "zhaofengli",
|
"owner": "zhaofengli",
|
||||||
"repo": "colmena",
|
"repo": "colmena",
|
||||||
"rev": "5bf4ce6a24adba74a5184f4a9bef01d545a09473",
|
"rev": "349b035a5027f23d88eeb3bc41085d7ee29f18ed",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -139,11 +139,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756770412,
|
"lastModified": 1760948891,
|
||||||
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
|
"narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "4524271976b625a4a605beefd893f270620fd751",
|
"rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -241,11 +241,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758719930,
|
"lastModified": 1762296971,
|
||||||
"narHash": "sha256-DgHe1026Ob49CPegPMiWj1HNtlMTGQzfSZQQVlHC950=",
|
"narHash": "sha256-Jyv3L5rrUYpecON+9zyFz2VqgTSTsIG35fXuCyuCQv0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "142acd7a7d9eb7f0bb647f053b4ddfd01fdfbf1d",
|
"rev": "34fe48801d2a5301b814eaa1efb496499d06cebc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -256,11 +256,11 @@
|
||||||
},
|
},
|
||||||
"mnw": {
|
"mnw": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756659871,
|
"lastModified": 1758834834,
|
||||||
"narHash": "sha256-v6Rh4aQ6RKjM2N02kK9Usn0Ix7+OY66vNpeklc1MnGE=",
|
"narHash": "sha256-Y7IvY4F8vajZyp3WGf+KaiIVwondEkMFkt92Cr9NZmg=",
|
||||||
"owner": "Gerg-L",
|
"owner": "Gerg-L",
|
||||||
"repo": "mnw",
|
"repo": "mnw",
|
||||||
"rev": "ed6cc3e48557ba18266e598a5ebb6602499ada16",
|
"rev": "cfbc7d1cc832e318d0863a5fc91d940a96034001",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -298,11 +298,11 @@
|
||||||
"nixpkgs-regression": "nixpkgs-regression"
|
"nixpkgs-regression": "nixpkgs-regression"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758713362,
|
"lastModified": 1762286227,
|
||||||
"narHash": "sha256-QXqpZiCoWBBlRVqgyXRf/icAEL8yCpNG59MY0VSuxBU=",
|
"narHash": "sha256-foAa58OTMJVFpH2dGuV8zL85EVDc8zcSLyAuUTDhTf8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "0175f7e8365074356497d132451870c9eae9240f",
|
"rev": "3ed42cd3543b2bf1bdd0bafa06052906c2749d87",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -333,11 +333,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758663926,
|
"lastModified": 1762267440,
|
||||||
"narHash": "sha256-6CFdj7Xs616t1W4jLDH7IohAAvl5Dyib3qEv/Uqw1rk=",
|
"narHash": "sha256-WHjEJ80oYbWyNu0dxysBs5oMlBc5w7YYzL1/UPj4iGo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "170ff93c860b2a9868ed1e1102d4e52cb3d934e1",
|
"rev": "2e85ae1b7030df39269d29118b1f74944d0c8f15",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -397,11 +397,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758589230,
|
"lastModified": 1761999846,
|
||||||
"narHash": "sha256-zMTCFGe8aVGTEr2RqUi/QzC1nOIQ0N1HRsbqB4f646k=",
|
"narHash": "sha256-IYlYnp4O4dzEpL77BD/lj5NnJy2J8qbHkNSFiPBCbqo=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d1d883129b193f0b495d75c148c2c3a7d95789a0",
|
"rev": "3de8f8d73e35724bf9abef41f1bdbedda1e14a31",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -429,11 +429,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758035966,
|
"lastModified": 1761672384,
|
||||||
"narHash": "sha256-qqIJ3yxPiB0ZQTT9//nFGQYn8X/PBoJbofA7hRKZnmE=",
|
"narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "8d4ddb19d03c65a36ad8d189d001dc32ffb0306b",
|
"rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -461,27 +461,27 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1756178832,
|
"lastModified": 1761597516,
|
||||||
"narHash": "sha256-O2CIn7HjZwEGqBrwu9EU76zlmA5dbmna7jL1XUmAId8=",
|
"narHash": "sha256-wxX7u6D2rpkJLWkZ2E932SIvDJW8+ON/0Yy8+a5vsDU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "d98ce345cdab58477ca61855540999c86577d19d",
|
"rev": "daf6dc47aa4b44791372d6139ab7b25269184d55",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-25.05-small",
|
"ref": "nixos-25.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758427187,
|
"lastModified": 1762111121,
|
||||||
"narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=",
|
"narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "554be6495561ff07b6c724047bdd7e0716aa7b46",
|
"rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -502,11 +502,11 @@
|
||||||
"systems": "systems_3"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758271661,
|
"lastModified": 1762093557,
|
||||||
"narHash": "sha256-ENqd2/33uP5vB44ClDjjAV+J78oF8q1er4QUZuT8Z7g=",
|
"narHash": "sha256-esmyNNa8TvduITLfqYPSMroyZ9vxJr2nsvjYmHmO+Ag=",
|
||||||
"owner": "notashelf",
|
"owner": "notashelf",
|
||||||
"repo": "nvf",
|
"repo": "nvf",
|
||||||
"rev": "b7571df4d6e9ac08506a738ddceeec0b141751b0",
|
"rev": "20d8fca94dceaf943686598da7fba31b37100e50",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@
|
||||||
fred = import ./hosts/fred/colmena.nix; # acer server
|
fred = import ./hosts/fred/colmena.nix; # acer server
|
||||||
loki = import ./hosts/loki/colmena.nix; # Dell XPS 13
|
loki = import ./hosts/loki/colmena.nix; # Dell XPS 13
|
||||||
# pi1 = import ./hosts/pi1/colmena.nix;
|
# 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
|
smaug = import ./hosts/smaug/colmena.nix; # Thinkpad x260
|
||||||
w1 = import ./hosts/w1/colmena.nix; # Hetzner VPS
|
w1 = import ./hosts/w1/colmena.nix; # Hetzner VPS
|
||||||
# w2 = import ./hosts/w2/colmena.nix;
|
# w2 = import ./hosts/w2/colmena.nix;
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,7 @@
|
||||||
nmap
|
nmap
|
||||||
notmuch
|
notmuch
|
||||||
pandoc
|
pandoc
|
||||||
pinentry
|
pinentry-curses
|
||||||
pipx
|
pipx
|
||||||
ps_mem
|
ps_mem
|
||||||
psmisc
|
psmisc
|
||||||
|
|
|
||||||
|
|
@ -18,32 +18,24 @@
|
||||||
|
|
||||||
# set some global stuff first
|
# set some global stuff first
|
||||||
|
|
||||||
# colors
|
|
||||||
GREEN='[01;32m'
|
|
||||||
YELLOW='[01;33m'
|
|
||||||
RED='[01;31m'
|
|
||||||
NONE='[01;0m'
|
NONE='[01;0m'
|
||||||
PATH="${HOME}/bin:/run/wrappers/bin:${HOME}/.nix-profile/bin:/etc/profiles/per-user/${USER}/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:${HOME}/go/bin:${HOME}/.local/bin:${HOME}/.cargo/bin:${HOME}/.local/share/gem/ruby/latest/bin"
|
PATH="${HOME}/bin:/run/wrappers/bin:${HOME}/.nix-profile/bin:/etc/profiles/per-user/${USER}/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:${HOME}/go/bin:${HOME}/.local/bin:${HOME}/.cargo/bin:${HOME}/.local/share/gem/ruby/latest/bin"
|
||||||
GOPATH="${HOME}/go"
|
GOPATH="${HOME}/go"
|
||||||
export NONE GREEN YELLOW RED
|
|
||||||
export PATH
|
export PATH
|
||||||
export GOPATH
|
export GOPATH
|
||||||
|
NIXPKGS_ALLOW_UNFREE=1
|
||||||
|
NIXPKGS_ALLOW_INSECURE=1
|
||||||
|
MOZ_USE_WAYLAND=1
|
||||||
|
GDK_BACKEND=wayland
|
||||||
|
export NIXPKGS_ALLOW_INSECURE NIXPKGS_ALLOW_UNFREE MOZ_USE_WAYLAND GDK_BACKEND
|
||||||
|
|
||||||
if [ -f ${HOME}/.nix-profile/etc/profile.d/hm-session-vars.sh ]
|
if [ -f ${HOME}/.nix-profile/etc/profile.d/hm-session-vars.sh ]; then
|
||||||
then
|
|
||||||
. ${HOME}/.nix-profile/etc/profile.d/hm-session-vars.sh
|
. ${HOME}/.nix-profile/etc/profile.d/hm-session-vars.sh
|
||||||
fi
|
fi
|
||||||
|
|
||||||
HOSTNAME_SHORT=$(hostnamectl | awk -F: '$1=/Static hostname/{print $2}' | sed 's/^ //')
|
HOSTNAME_SHORT=$(hostnamectl | awk -F: '$1=/Static hostname/{print $2}' | sed 's/^ //')
|
||||||
while [ "${HOSTNAME_SHORT}" == "localhost" ]
|
|
||||||
do
|
|
||||||
echo "${RED}@${GREEN}-,---${NONE}"
|
|
||||||
sleep 1
|
|
||||||
HOSTNAME_SHORT=$(hostnamectl | awk -F: '$1=/Static hostname/{print $2}' | sed 's/^ //')
|
|
||||||
done
|
|
||||||
export HOSTNAME_SHORT
|
export HOSTNAME_SHORT
|
||||||
|
|
||||||
|
|
||||||
# set coredump size to 0
|
# set coredump size to 0
|
||||||
ulimit -c 0
|
ulimit -c 0
|
||||||
|
|
||||||
|
|
@ -65,8 +57,7 @@ test -d "${HOME}/bin/${HOSTNAME_SHORT}" && PATH="${PATH}:${HOME}/bin/${HOSTNAME_
|
||||||
######### #########
|
######### #########
|
||||||
#####################################
|
#####################################
|
||||||
|
|
||||||
if [ "${PS1}" ];
|
if [ "${PS1}" ]; then
|
||||||
then
|
|
||||||
unset i
|
unset i
|
||||||
set -o noclobber
|
set -o noclobber
|
||||||
set -o notify
|
set -o notify
|
||||||
|
|
@ -85,10 +76,10 @@ then
|
||||||
USER=$LOGNAME
|
USER=$LOGNAME
|
||||||
fi
|
fi
|
||||||
HISTNAME=$LOGNAME
|
HISTNAME=$LOGNAME
|
||||||
if [ $EUID == 0 ];then HISTNAME=root;fi
|
if [ $EUID == 0 ]; then HISTNAME=root; fi
|
||||||
HISTFILE="${HOME}/.bash_history.${HISTNAME}.${HOSTNAME_SHORT}.$(tty|cut -c10-)"
|
HISTFILE="${HOME}/.bash_history.${HISTNAME}.${HOSTNAME_SHORT}.$(tty | cut -c10-)"
|
||||||
export HISTFILE
|
export HISTFILE
|
||||||
test -f "${HOME}/.bash_ssh" && source "${HOME}/.bash_ssh"
|
test -f "${HOME}/.bash_ssh" && source "${HOME}/.bash_ssh"
|
||||||
|
|
||||||
PAGER=less
|
PAGER=less
|
||||||
LESS="-Rs"
|
LESS="-Rs"
|
||||||
|
|
@ -101,14 +92,12 @@ then
|
||||||
unset COMPHOSTS
|
unset COMPHOSTS
|
||||||
export COMPHOSTS=()
|
export COMPHOSTS=()
|
||||||
|
|
||||||
|
|
||||||
unset pathmunge
|
unset pathmunge
|
||||||
# set up man path
|
# set up man path
|
||||||
MANPATH="${MANPATH}:${HOME}/man:${HOME}/share/man"
|
MANPATH="${MANPATH}:${HOME}/man:${HOME}/share/man"
|
||||||
export MANPATH
|
export MANPATH
|
||||||
|
|
||||||
|
test -f $(ls -1 /nix/store/*bash-completion-*/etc/profile.d/bash_completion.sh | tail -n1) &&
|
||||||
test -f $(ls -1 /nix/store/*bash-completion-*/etc/profile.d/bash_completion.sh | tail -n1) && \
|
|
||||||
source $(ls -1 /nix/store/*bash-completion-*/etc/profile.d/bash_completion.sh | tail -n1)
|
source $(ls -1 /nix/store/*bash-completion-*/etc/profile.d/bash_completion.sh | tail -n1)
|
||||||
|
|
||||||
export LOCKPRG=${HOME}/bin/myLock
|
export LOCKPRG=${HOME}/bin/myLock
|
||||||
|
|
@ -116,13 +105,13 @@ then
|
||||||
export HISTIGNORE='pwd:exit:clear:history'
|
export HISTIGNORE='pwd:exit:clear:history'
|
||||||
[ ! -v ${BASH_COMPLETION_VERSINFO} -a -d ${HOME}/.bash_completion.d ] && for i in $(\ls -1 ${HOME}/.bash_completion.d/*.sh); do source $i; done
|
[ ! -v ${BASH_COMPLETION_VERSINFO} -a -d ${HOME}/.bash_completion.d ] && for i in $(\ls -1 ${HOME}/.bash_completion.d/*.sh); do source $i; done
|
||||||
|
|
||||||
export PROMPT_COMMAND='history -a' # Always append history files
|
export PROMPT_COMMAND='history -a' # Always append history files
|
||||||
PS1='\u@\h:\w> '
|
PS1='\u@\h:\w> '
|
||||||
|
|
||||||
test -f "${HOME}/.bash_aliases" && . ${HOME}/.bash_aliases
|
test -f "${HOME}/.bash_aliases" && . ${HOME}/.bash_aliases
|
||||||
test -f "${HOME}/.bash_local" && . ${HOME}/.bash_local
|
test -f "${HOME}/.bash_local" && . ${HOME}/.bash_local
|
||||||
file=$(\ls -1d /nix/store/*-$(\ls -1d /nix/store/*-liquidprompt-* | grep -v drv | awk -F- '{printf("%s-%s\n",$2,$3)}' | tail -n1) | tail -n1)
|
file=$(\ls -1d /nix/store/*-$(\ls -1d /nix/store/*-liquidprompt-* | grep -v drv | awk -F- '{printf("%s-%s\n",$2,$3)}' | tail -n1) | tail -n1)
|
||||||
test -f ${file}/bin/liquidprompt && . ${file}/bin/liquidprompt
|
test -f ${file}/bin/liquidprompt && . ${file}/bin/liquidprompt
|
||||||
|
|
||||||
# BEGIN_KITTY_SHELL_INTEGRATION
|
# BEGIN_KITTY_SHELL_INTEGRATION
|
||||||
if test -n "$KITTY_INSTALLATION_DIR" -a -e "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; then source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; fi
|
if test -n "$KITTY_INSTALLATION_DIR" -a -e "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; then source "$KITTY_INSTALLATION_DIR/shell-integration/bash/kitty.bash"; fi
|
||||||
|
|
|
||||||
60
home/common/pi-server.nix
Normal file
60
home/common/pi-server.nix
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./bash.nix
|
||||||
|
./btop.nix
|
||||||
|
./catppuccin.nix
|
||||||
|
./git.nix
|
||||||
|
./gnupg.nix
|
||||||
|
./liquidprompt.nix
|
||||||
|
./ssh.nix
|
||||||
|
./topgrade.nix
|
||||||
|
];
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
figlet
|
||||||
|
file
|
||||||
|
fzf
|
||||||
|
gnupg
|
||||||
|
gping
|
||||||
|
htop
|
||||||
|
iftop
|
||||||
|
iw
|
||||||
|
jq
|
||||||
|
keychain
|
||||||
|
keyutils
|
||||||
|
links2
|
||||||
|
liquidprompt
|
||||||
|
moreutils
|
||||||
|
ncdu
|
||||||
|
nmap
|
||||||
|
pinentry-curses
|
||||||
|
pipx
|
||||||
|
ps_mem
|
||||||
|
psmisc
|
||||||
|
sqlite
|
||||||
|
trippy
|
||||||
|
unzip
|
||||||
|
wget
|
||||||
|
zip
|
||||||
|
];
|
||||||
|
services = {
|
||||||
|
gpg-agent = {
|
||||||
|
enable = true;
|
||||||
|
defaultCacheTtl = 1800;
|
||||||
|
enableSshSupport = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
programs.keychain = {
|
||||||
|
enable = true;
|
||||||
|
enableBashIntegration = true;
|
||||||
|
keys = "id_aur id_dsa id_ed25519 git C7E41C9F79C846984163693FCCD8E76F07EA701B";
|
||||||
|
};
|
||||||
|
home.file.".links/links.cfg".source = files/links.cfg;
|
||||||
|
xdg.configFile."nix/nix.conf".text = ''
|
||||||
|
extra-experimental-features = flakes nix-command
|
||||||
|
'';
|
||||||
|
}
|
||||||
|
|
@ -67,7 +67,7 @@ in {
|
||||||
shikane
|
shikane
|
||||||
# signal-desktop
|
# signal-desktop
|
||||||
simple-scan
|
simple-scan
|
||||||
syncthingtray
|
# syncthingtray
|
||||||
systemd-lock-handler
|
systemd-lock-handler
|
||||||
# telegram-desktop
|
# telegram-desktop
|
||||||
texlive.combined.scheme-medium
|
texlive.combined.scheme-medium
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,8 @@
|
||||||
ytdl = "yes";
|
ytdl = "yes";
|
||||||
ytdl-format = "bestvideo+bestaudio";
|
ytdl-format = "bestvideo+bestaudio";
|
||||||
# Only needed when/if youtube blocks annon access again
|
# Only needed when/if youtube blocks annon access again
|
||||||
ytdl-raw-options = "no-playlist=,cookies-from-browser=firefox,force-ipv4=";
|
# ytdl-raw-options = "no-playlist=,cookies-from-browser=firefox,force-ipv4=";
|
||||||
# ytdl-raw-options = "no-playlist=";
|
ytdl-raw-options = "no-playlist=,force-ipv4=";
|
||||||
};
|
};
|
||||||
profiles = {
|
profiles = {
|
||||||
utube = {
|
utube = {
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,7 @@
|
||||||
set $snd_sink alsa_output.usb-Corsair_CORSAIR_VOID_ELITE_Wireless_Gaming_Dongle-00.iec958-stereo
|
set $snd_sink alsa_output.usb-Corsair_CORSAIR_VOID_ELITE_Wireless_Gaming_Dongle-00.iec958-stereo
|
||||||
|
|
||||||
set $lock /home/don/bin/lock.sh
|
set $lock /home/don/bin/lock.sh
|
||||||
exec_always sway-audio-idle-inhibit
|
exec ${pkgs.swayidle}/bin/swayidle -w \
|
||||||
exec swayidle -w \
|
|
||||||
timeout 300 $lock \
|
timeout 300 $lock \
|
||||||
timeout 360 'swaymsg "output * dpms off"' \
|
timeout 360 'swaymsg "output * dpms off"' \
|
||||||
resume 'swaymsg "output * dpms on"' \
|
resume 'swaymsg "output * dpms on"' \
|
||||||
|
|
@ -67,16 +66,16 @@
|
||||||
bindsym $mod+Shift+q kill
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
# start dmenu (a program launcher)
|
# start dmenu (a program launcher)
|
||||||
set $menu_command fuzzel
|
set $menu_command ${pkgs.fuzzel}/bin/fuzzel
|
||||||
set $bemenu_options -i --nb "#3f3f3f" --nf "#dcdccc" -fn "pango:JetBrains Mono 8"
|
set $bemenu_options -i --nb "#3f3f3f" --nf "#dcdccc" -fn "pango:JetBrains Mono 8"
|
||||||
set $menu dmenu-wl_path | bemenu $bemenu_options| xargs swaymsg exec --
|
set $menu ${pkgs.dmenu-wayland}/bin/dmenu-wl_path | ${pkgs.bemenu}/bin/bemenu $bemenu_options| xargs swaymsg exec --
|
||||||
bindsym $mod+Shift+d exec $menu
|
bindsym $mod+Shift+d exec $menu
|
||||||
|
|
||||||
# Screenshots:
|
# Screenshots:
|
||||||
bindsym Mod4+p exec grimshot --notify save active # Current window
|
bindsym Mod4+p exec ${pkgs.sway-contrib.grimshot}/bin/grimshot --notify save active # Current window
|
||||||
bindsym Mod4+Shift+p exec grimshot --notify save area # Select area
|
bindsym Mod4+Shift+p exec ${pkgs.sway-contrib.grimshot}/bin/grimshot --notify save area # Select area
|
||||||
bindsym Mod4+Mod1+p exec grimshot --notify save output # Current output
|
bindsym Mod4+Mod1+p exec ${pkgs.sway-contrib.grimshot}/bin/grimshot --notify save output # Current output
|
||||||
bindsym Mod4+Ctrl+p exec grimshot --notify save window # Select a window
|
bindsym Mod4+Ctrl+p exec ${pkgs.sway-contrib.grimshot}/bin/grimshot --notify save window # Select a window
|
||||||
|
|
||||||
# rofi app and window launchers
|
# rofi app and window launchers
|
||||||
bindsym $mod+p exec --no-startup-id $menu
|
bindsym $mod+p exec --no-startup-id $menu
|
||||||
|
|
@ -305,24 +304,24 @@
|
||||||
client.background #F8F8F2
|
client.background #F8F8F2
|
||||||
|
|
||||||
exec ${pkgs.pasystray}/bin/pasystray
|
exec ${pkgs.pasystray}/bin/pasystray
|
||||||
exec_always keyctl link @u @s
|
exec_always ${pkgs.keyutils}/bin/keyctl link @u @s
|
||||||
exec ${pkgs.shikane}/bin/shikane
|
exec ${pkgs.shikane}/bin/shikane
|
||||||
exec ${pkgs.wayland-pipewire-idle-inhibit}/bin/wayland-pipewire-idle-inhibit
|
exec ${pkgs.wayland-pipewire-idle-inhibit}/bin/wayland-pipewire-idle-inhibit
|
||||||
exec_always shikanectl reload
|
exec_always ${pkgs.shikane}/bin/shikanectl reload
|
||||||
exec kitty -o initial_window_width=40c -o initial_window_height=30c --title ttmenu -e ttmenu-loop
|
exec ${pkgs.foot}/bin/foot -W 36x22 -T ttmenu -f "Courier New:size=12" -e ttmenu-loop
|
||||||
seat * hide_cursor 8000
|
seat * hide_cursor 8000
|
||||||
exec systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
exec ${pkgs.systemd}/bin/systemctl --user import-environment DISPLAY WAYLAND_DISPLAY SWAYSOCK
|
||||||
exec dbus-update-activation-environment --all 2>/dev/null && dbus-update-activation-environment --systemd 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 --no-startup-id udiskie
|
exec ${pkgs.udiskie}/bin/udiskie
|
||||||
exec wl-paste -t text --watch clipman store
|
exec ${pkgs.wl-clipboard}/bin/wl-paste -t text --watch clipman store
|
||||||
exec configure-gtk
|
exec ~/bin/configure-gtk
|
||||||
exec dovideo.sh
|
exec ~/bin/dovideo.sh
|
||||||
exec auto-start
|
exec ~/bin/auto-start
|
||||||
exec swaync
|
exec ${pkgs.swaynotificationcenter}/bin/swaync
|
||||||
exec nm-applet
|
exec ${pkgs.networkmanagerapplet}/bin/nm-applet
|
||||||
exec ${pkgs.kdePackages.kdeconnect-kde}/bin/kdeconnect-indicator
|
exec ${pkgs.kdePackages.kdeconnect-kde}/bin/kdeconnect-indicator
|
||||||
exec myweb
|
exec ~/bin/myweb
|
||||||
exec myterm
|
exec ~/bin/myterm
|
||||||
exec ${pkgs.headset-charge-indicator}/bin/headset-charge-indicator.py
|
exec ${pkgs.headset-charge-indicator}/bin/headset-charge-indicator.py
|
||||||
exec ${pkgs.wlsunset}/bin/wlsunset -l 29.7 -L -95.8
|
exec ${pkgs.wlsunset}/bin/wlsunset -l 29.7 -L -95.8
|
||||||
exec ${pkgs.blueberry}/bin/blueberry-tray
|
exec ${pkgs.blueberry}/bin/blueberry-tray
|
||||||
|
|
|
||||||
33
home/pi-server.nix
Normal file
33
home/pi-server.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
pkgs,
|
||||||
|
pkgs-stable,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [inputs.home-manager.nixosModules.home-manager];
|
||||||
|
home-manager.extraSpecialArgs = {
|
||||||
|
pkgs-stable = import pkgs-stable {config.allowUnfree = true;};
|
||||||
|
inherit inputs outputs;
|
||||||
|
};
|
||||||
|
home-manager = {
|
||||||
|
useUserPackages = true;
|
||||||
|
backupFileExtension = "home-manager-backup";
|
||||||
|
users = {
|
||||||
|
don = {
|
||||||
|
imports = [
|
||||||
|
inputs.catppuccin.homeModules.catppuccin
|
||||||
|
./common/pi-server.nix
|
||||||
|
];
|
||||||
|
home = {
|
||||||
|
username = "don";
|
||||||
|
homeDirectory = "/home/don";
|
||||||
|
stateVersion = "23.05";
|
||||||
|
};
|
||||||
|
programs = {
|
||||||
|
home-manager = {enable = true;};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,11 +1,42 @@
|
||||||
{ lib, config, pkgs, inputs, outputs, home-manager, ... }:
|
{
|
||||||
with lib;
|
lib,
|
||||||
let cfg = config.roles.citrix;
|
config,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
home-manager,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.roles.citrix;
|
||||||
|
# FIXME : remove when new version of Citrix is released
|
||||||
|
pkgs =
|
||||||
|
# DELME
|
||||||
|
import (builtins.fetchTarball {
|
||||||
|
# DELME
|
||||||
|
url = "https://github.com/NixOS/nixpkgs/archive/29b6e7097f50955f49a81d2665fb21c94c43df19.tar.gz"; # DELME
|
||||||
|
sha256 = "0zrkfxj130gbgixgk8yaxk5d9s5ppj667x38n4vys4zxw5r60bjz"; # DELME
|
||||||
|
}) {
|
||||||
|
# DELME
|
||||||
|
config = {
|
||||||
|
# DELME
|
||||||
|
allowUnfree = true; # DELME
|
||||||
|
allowInsecure = true; # DELME
|
||||||
|
permittedInsecurePackages = [
|
||||||
|
# DELME
|
||||||
|
"libsoup-2.74.3" # DELME
|
||||||
|
]; # DELME
|
||||||
|
}; # DELME
|
||||||
|
}; # DELME
|
||||||
|
|
||||||
|
citrix_workspace_overlay = pkgs.citrix_workspace; # DELME
|
||||||
in {
|
in {
|
||||||
options.roles.citrix = { enable = lib.mkEnableOption "citrix tools"; };
|
options.roles.citrix = {enable = lib.mkEnableOption "citrix tools";};
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
home-manager.users.don.home.packages = with pkgs; [ citrix_workspace ];
|
# FIXME : remove when new version of Citrix is released
|
||||||
nixpkgs.config.permittedInsecurePackages = [ "libsoup-2.74.3" ];
|
# home-manager.users.don.home.packages = with pkgs; [citrix_workspace];
|
||||||
|
home-manager.users.don.home.packages = with pkgs; [citrix_workspace_overlay]; # DELME
|
||||||
|
nixpkgs.config.permittedInsecurePackages = ["libsoup-2.74.3"];
|
||||||
# home-manager.users.don.home.packages = with pkgs;
|
# home-manager.users.don.home.packages = with pkgs;
|
||||||
# [ citrix_workspace_24_11_0 ];
|
# [ citrix_workspace_24_11_0 ];
|
||||||
home-manager.users.don.home.file."ICAClient" = {
|
home-manager.users.don.home.file."ICAClient" = {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,11 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }: {
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixos-hardware.nixosModules.google-pixelbook
|
inputs.nixos-hardware.nixosModules.google-pixelbook
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
@ -10,12 +17,12 @@
|
||||||
variables.swayScale = "1.5";
|
variables.swayScale = "1.5";
|
||||||
|
|
||||||
roles = {
|
roles = {
|
||||||
citrix.enable = true;
|
citrix.enable = false;
|
||||||
zoom.enable = true;
|
zoom.enable = false;
|
||||||
gui.enable = true;
|
gui.enable = true;
|
||||||
kmscon.enable = true;
|
kmscon.enable = true;
|
||||||
auto-cpufreq.enable = true;
|
auto-cpufreq.enable = true;
|
||||||
gnome-calendar.enable = true;
|
gnome-calendar.enable = true;
|
||||||
};
|
};
|
||||||
wm = { sway.enable = true; };
|
wm = {sway.enable = true;};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,7 @@
|
||||||
tags = ["arm"];
|
tags = ["arm"];
|
||||||
targetUser = "don";
|
targetUser = "don";
|
||||||
privilegeEscalationCommand = ["/run/wrappers/bin/doas"];
|
privilegeEscalationCommand = ["/run/wrappers/bin/doas"];
|
||||||
targetHost = "display.home.duckland.org";
|
# targetHost = "display.home.duckland.org";
|
||||||
|
targetHost = "192.168.1.142";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,26 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }: {
|
{
|
||||||
# environment.systemPackages = with pkgs; [ cog ];
|
inputs,
|
||||||
environment.systemPackages = with pkgs; [ firefox ];
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
environment.systemPackages = with pkgs; [kdePackages.falkon cage wlsunset];
|
||||||
|
|
||||||
services.cage = {
|
services = {
|
||||||
enable = true;
|
cage = {
|
||||||
user = "don";
|
enable = true;
|
||||||
extraArguments = [ "-d" ];
|
user = "don";
|
||||||
program =
|
extraArguments = ["-d"];
|
||||||
# "${pkgs.cog}/bin/cog --scale=1.4 http://homeassistant.home.duckland.org:8123/dashboard-pi/0";
|
program = "${pkgs.kdePackages.falkon}/bin/falkon --fullscreen http://harper2.home.duckland.org:8123/dashboard-pi/0";
|
||||||
"${pkgs.firefox}/bin/firefox --kiosk http://homeassistant.home.duckland.org:8123/dashboard-pi/0";
|
};
|
||||||
|
};
|
||||||
|
home-manager.users.don.services = {
|
||||||
|
wlsunset = {
|
||||||
|
enable = true;
|
||||||
|
latitude = 29.7;
|
||||||
|
longitude = -95.8;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,11 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }: {
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixos-hardware.nixosModules.framework-amd-ai-300-series
|
inputs.nixos-hardware.nixosModules.framework-amd-ai-300-series
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
|
@ -6,7 +13,6 @@
|
||||||
../workstation
|
../workstation
|
||||||
];
|
];
|
||||||
networking.hostName = "loki";
|
networking.hostName = "loki";
|
||||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
|
||||||
variables.address = "100.72.0.1";
|
variables.address = "100.72.0.1";
|
||||||
variables.swayScale = "1.2";
|
variables.swayScale = "1.2";
|
||||||
|
|
||||||
|
|
@ -20,5 +26,5 @@
|
||||||
gnome-calendar.enable = true;
|
gnome-calendar.enable = true;
|
||||||
};
|
};
|
||||||
primary.enable = true;
|
primary.enable = true;
|
||||||
wm = { sway.enable = true; };
|
wm = {sway.enable = true;};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,17 +5,7 @@
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: let
|
}: {
|
||||||
my-python-packages = python-packages:
|
|
||||||
with python-packages; [
|
|
||||||
pip
|
|
||||||
pipx
|
|
||||||
python-dateutil
|
|
||||||
setuptools
|
|
||||||
requests
|
|
||||||
];
|
|
||||||
python-with-my-packages = pkgs.python313.withPackages my-python-packages;
|
|
||||||
in {
|
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
experimental-features = ["nix-command" "flakes"];
|
experimental-features = ["nix-command" "flakes"];
|
||||||
|
|
@ -30,7 +20,7 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
imports = [
|
imports = [
|
||||||
../../home
|
../../home/pi-server.nix
|
||||||
./services.nix
|
./services.nix
|
||||||
./systemd.nix
|
./systemd.nix
|
||||||
../vars.nix
|
../vars.nix
|
||||||
|
|
@ -62,16 +52,6 @@ in {
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot = {
|
boot = {
|
||||||
kernelPackages = pkgs.linuxPackages_rpi4;
|
kernelPackages = pkgs.linuxPackages_rpi4;
|
||||||
kernelParams = ["consoleblank=60"];
|
|
||||||
#loader = {
|
|
||||||
#systemd-boot = {
|
|
||||||
#enable = true;
|
|
||||||
#};
|
|
||||||
#efi = {
|
|
||||||
#canTouchEfiVariables = true;
|
|
||||||
#efiSysMountPoint = "/boot";
|
|
||||||
#};
|
|
||||||
#};
|
|
||||||
plymouth = {enable = true;};
|
plymouth = {enable = true;};
|
||||||
kernel = {sysctl = {"vm.swappiness" = 10;};};
|
kernel = {sysctl = {"vm.swappiness" = 10;};};
|
||||||
};
|
};
|
||||||
|
|
@ -92,16 +72,8 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
pcscd = {enable = true;};
|
|
||||||
beszel-agent = {enable = true;};
|
beszel-agent = {enable = true;};
|
||||||
avahi = {
|
|
||||||
enable = true;
|
|
||||||
nssmdns4 = true;
|
|
||||||
};
|
|
||||||
printing = {enable = true;};
|
|
||||||
udisks2 = {enable = true;};
|
|
||||||
nscd = {enableNsncd = true;};
|
nscd = {enableNsncd = true;};
|
||||||
tailscale = {enable = true;};
|
|
||||||
locate = {
|
locate = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.mlocate;
|
package = pkgs.mlocate;
|
||||||
|
|
@ -151,42 +123,22 @@ in {
|
||||||
memoryPercent = 25;
|
memoryPercent = 25;
|
||||||
memoryMax = 2147483648;
|
memoryMax = 2147483648;
|
||||||
};
|
};
|
||||||
#nixpkgs.config.allowUnfree = true;
|
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# python-with-my-packages
|
|
||||||
python313
|
python313
|
||||||
aspell
|
|
||||||
aspellDicts.en
|
|
||||||
base16-schemes
|
base16-schemes
|
||||||
bash-completion
|
bash-completion
|
||||||
btop
|
btop
|
||||||
colmena
|
|
||||||
dmidecode
|
dmidecode
|
||||||
docker-compose
|
|
||||||
git-crypt
|
|
||||||
gitFull
|
|
||||||
home-manager
|
home-manager
|
||||||
hunspell
|
|
||||||
hunspellDicts.en_US
|
|
||||||
isync
|
|
||||||
just
|
|
||||||
lazydocker
|
|
||||||
lsb-release
|
lsb-release
|
||||||
lsof
|
lsof
|
||||||
nix-bash-completions
|
nix-bash-completions
|
||||||
nixfmt-classic
|
|
||||||
pkg-config
|
pkg-config
|
||||||
podman
|
|
||||||
poppler_utils
|
|
||||||
ruby
|
|
||||||
sops
|
sops
|
||||||
udiskie
|
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
dconf = {enable = true;};
|
|
||||||
mtr = {enable = true;};
|
|
||||||
gnupg = {
|
gnupg = {
|
||||||
agent = {
|
agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -196,57 +148,12 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
|
||||||
(final: super: {
|
|
||||||
khal = super.khal.overridePythonAttrs (_: {doCheck = false;});
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# always allow traffic from your Tailscale network
|
|
||||||
trustedInterfaces = ["tailscale0"];
|
|
||||||
checkReversePath = "loose";
|
checkReversePath = "loose";
|
||||||
|
|
||||||
# allow the Tailscale UDP port through the firewall
|
|
||||||
allowedUDPPorts = [config.services.tailscale.port];
|
|
||||||
allowedTCPPortRanges = [
|
|
||||||
{
|
|
||||||
from = 1714;
|
|
||||||
to = 1764;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
allowedUDPPortRanges = [
|
|
||||||
{
|
|
||||||
from = 1714;
|
|
||||||
to = 1764;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
# allow you to SSH in over the public internet
|
|
||||||
allowedTCPPorts = [22];
|
allowedTCPPorts = [22];
|
||||||
};
|
};
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
|
||||||
# settings for stateful data, like file locations and database versions
|
|
||||||
# on your system were taken. It's perfectly fine and recommended to leavecatenate(variables, "bootdev", bootdev)
|
|
||||||
# this value at the release version of the first install of this system.
|
|
||||||
# Before changing this value read the documentation for this option
|
|
||||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
||||||
system.stateVersion = "23.11"; # Did you read the comment?
|
system.stateVersion = "23.11"; # Did you read the comment?
|
||||||
programs.msmtp = {
|
|
||||||
enable = true;
|
|
||||||
accounts = {
|
|
||||||
default = {
|
|
||||||
auth = true;
|
|
||||||
tls = true;
|
|
||||||
port = 587;
|
|
||||||
from = "duck@duckland.org";
|
|
||||||
host = "smtp.gmail.com";
|
|
||||||
user = "duckunix@gmail.com";
|
|
||||||
passwordeval = "cat /home/don/.smtp_password.txt";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,45 +1,14 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
let
|
|
||||||
readlink = "${pkgs.coreutils}/bin/readlink";
|
|
||||||
notify-send = "${pkgs.libnotify}/bin/notify-send";
|
|
||||||
in {
|
|
||||||
systemd = {
|
systemd = {
|
||||||
services = {
|
services = {
|
||||||
clean-keychain = {
|
clean-keychain = {
|
||||||
description = "Clean up .keychain on boot";
|
description = "Clean up .keychain on boot";
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = ["multi-user.target"];
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
ExecStart = "${pkgs.coreutils-full}/bin/rm -rf /home/don/.keychain";
|
ExecStart = "${pkgs.coreutils-full}/bin/rm -rf /home/don/.keychain";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
user = {
|
|
||||||
services = {
|
|
||||||
detect-reboot-for-upgrade = {
|
|
||||||
script = ''
|
|
||||||
set -eu -o pipefail
|
|
||||||
booted="$(${readlink} /run/booted-system/{initrd,kernel,kernel-modules})"
|
|
||||||
built="$(${readlink} /nix/var/nix/profiles/system/{initrd,kernel,kernel-modules})"
|
|
||||||
if [[ "''${booted}" != "''${built}" ]];
|
|
||||||
then
|
|
||||||
echo "Looks like we need a reboot!"
|
|
||||||
${notify-send} --urgency=low --icon=system-reboot "Reboot is needed for a NixOS upgrade."
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
serviceConfig = { Type = "oneshot"; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
timers = {
|
|
||||||
detect-reboot-for-upgrade = {
|
|
||||||
wantedBy = [ "timers.target" ];
|
|
||||||
partOf = [ "detect-reboot-for-upgrade.service" ];
|
|
||||||
timerConfig = {
|
|
||||||
OnCalendar = "hourly";
|
|
||||||
Unit = "detect-reboot-for-upgrade.service";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,11 @@
|
||||||
{ inputs, config, pkgs, ... }: {
|
{
|
||||||
|
inputs,
|
||||||
|
outputs,
|
||||||
|
libs,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
inputs.nixos-hardware.nixosModules.common-cpu-intel
|
||||||
|
|
@ -8,8 +15,17 @@
|
||||||
../workstation
|
../workstation
|
||||||
];
|
];
|
||||||
networking.hostName = "pocket2";
|
networking.hostName = "pocket2";
|
||||||
|
variables.address = "192.168.1.12";
|
||||||
variables.swayScale = "1.7";
|
variables.swayScale = "1.7";
|
||||||
|
|
||||||
roles = { gui.enable = true; };
|
roles = {
|
||||||
wm = { sway.enable = true; };
|
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;};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,11 @@
|
||||||
{ inputs, outputs, lib, config, pkgs, ... }:
|
{
|
||||||
let
|
inputs,
|
||||||
|
outputs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
my-python-packages = python-packages:
|
my-python-packages = python-packages:
|
||||||
with python-packages; [
|
with python-packages; [
|
||||||
pip
|
pip
|
||||||
|
|
@ -12,10 +18,10 @@ let
|
||||||
in {
|
in {
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
experimental-features = ["nix-command" "flakes"];
|
||||||
warn-dirty = false;
|
warn-dirty = false;
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
trusted-users = [ "root" "don" ];
|
trusted-users = ["root" "don"];
|
||||||
};
|
};
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
|
|
@ -49,14 +55,15 @@ in {
|
||||||
inputMethod = {
|
inputMethod = {
|
||||||
enable = true;
|
enable = true;
|
||||||
type = "fcitx5";
|
type = "fcitx5";
|
||||||
fcitx5.addons = with pkgs; [ fcitx5-mozc fcitx5-gtk ];
|
fcitx5.addons = with pkgs; [fcitx5-mozc fcitx5-gtk];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot = {
|
boot = {
|
||||||
|
binfmt.emulatedSystems = ["aarch64-linux"];
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
kernelParams = [ "consoleblank=60" ];
|
kernelParams = ["consoleblank=60"];
|
||||||
#loader = {
|
#loader = {
|
||||||
#systemd-boot = {
|
#systemd-boot = {
|
||||||
#enable = true;
|
#enable = true;
|
||||||
|
|
@ -66,34 +73,36 @@ in {
|
||||||
#efiSysMountPoint = "/boot";
|
#efiSysMountPoint = "/boot";
|
||||||
#};
|
#};
|
||||||
#};
|
#};
|
||||||
plymouth = { enable = true; };
|
plymouth = {enable = true;};
|
||||||
kernel = { sysctl = { "vm.swappiness" = 10; }; };
|
kernel = {sysctl = {"vm.swappiness" = 10;};};
|
||||||
};
|
};
|
||||||
|
|
||||||
security = {
|
security = {
|
||||||
polkit = { enable = true; };
|
polkit = {enable = true;};
|
||||||
sudo.enable = false;
|
sudo.enable = false;
|
||||||
doas = {
|
doas = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraRules = [{
|
extraRules = [
|
||||||
users = [ "don" ];
|
{
|
||||||
keepEnv = true;
|
users = ["don"];
|
||||||
noPass = true;
|
keepEnv = true;
|
||||||
}];
|
noPass = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
pcscd = { enable = true; };
|
pcscd = {enable = true;};
|
||||||
beszel-agent = { enable = true; };
|
beszel-agent = {enable = true;};
|
||||||
avahi = {
|
avahi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nssmdns4 = true;
|
nssmdns4 = true;
|
||||||
};
|
};
|
||||||
printing = { enable = true; };
|
printing = {enable = true;};
|
||||||
udisks2 = { enable = true; };
|
udisks2 = {enable = true;};
|
||||||
nscd = { enableNsncd = true; };
|
nscd = {enableNsncd = true;};
|
||||||
tailscale = { enable = true; };
|
tailscale = {enable = true;};
|
||||||
locate = {
|
locate = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.mlocate;
|
package = pkgs.mlocate;
|
||||||
|
|
@ -172,15 +181,15 @@ in {
|
||||||
nixfmt-classic
|
nixfmt-classic
|
||||||
pkg-config
|
pkg-config
|
||||||
podman
|
podman
|
||||||
poppler_utils
|
poppler-utils
|
||||||
ruby
|
ruby
|
||||||
sops
|
sops
|
||||||
udiskie
|
udiskie
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
dconf = { enable = true; };
|
dconf = {enable = true;};
|
||||||
mtr = { enable = true; };
|
mtr = {enable = true;};
|
||||||
gnupg = {
|
gnupg = {
|
||||||
agent = {
|
agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -192,25 +201,29 @@ in {
|
||||||
|
|
||||||
nixpkgs.overlays = [
|
nixpkgs.overlays = [
|
||||||
(final: super: {
|
(final: super: {
|
||||||
khal = super.khal.overridePythonAttrs (_: { doCheck = false; });
|
khal = super.khal.overridePythonAttrs (_: {doCheck = false;});
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
trustedInterfaces = [ "tailscale0" ];
|
trustedInterfaces = ["tailscale0"];
|
||||||
checkReversePath = "loose";
|
checkReversePath = "loose";
|
||||||
allowedUDPPorts = [ config.services.tailscale.port ];
|
allowedUDPPorts = [config.services.tailscale.port];
|
||||||
allowedTCPPortRanges = [{
|
allowedTCPPortRanges = [
|
||||||
from = 1714;
|
{
|
||||||
to = 1764;
|
from = 1714;
|
||||||
}];
|
to = 1764;
|
||||||
allowedUDPPortRanges = [{
|
}
|
||||||
from = 1714;
|
];
|
||||||
to = 1764;
|
allowedUDPPortRanges = [
|
||||||
}];
|
{
|
||||||
allowedTCPPorts = [ 22 ];
|
from = 1714;
|
||||||
|
to = 1764;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
allowedTCPPorts = [22];
|
||||||
};
|
};
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,7 @@ in {
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot = {
|
boot = {
|
||||||
|
binfmt.emulatedSystems = ["aarch64-linux"];
|
||||||
# kernelPackages = pkgs.linuxPackages_latest;
|
# kernelPackages = pkgs.linuxPackages_latest;
|
||||||
kernelPackages = pkgs.linuxPackages_zen;
|
kernelPackages = pkgs.linuxPackages_zen;
|
||||||
kernelParams = ["consoleblank=60" "mem_sleep_default=deep"];
|
kernelParams = ["consoleblank=60" "mem_sleep_default=deep"];
|
||||||
|
|
@ -307,7 +308,7 @@ in {
|
||||||
isync
|
isync
|
||||||
pkg-config
|
pkg-config
|
||||||
playerctl
|
playerctl
|
||||||
poppler_utils
|
poppler-utils
|
||||||
pulseaudio
|
pulseaudio
|
||||||
ruby
|
ruby
|
||||||
sops
|
sops
|
||||||
|
|
|
||||||
4
justfile
4
justfile
|
|
@ -105,8 +105,8 @@ pull:
|
||||||
@rm -f nixos-switch.log
|
@rm -f nixos-switch.log
|
||||||
@doas nix-prefetch-url file://`pwd`/`ls -1 src/linuxx64* | tail -n1` &> nixos-switch.log || ( cat nixos-switch.log && false )
|
@doas nix-prefetch-url file://`pwd`/`ls -1 src/linuxx64* | tail -n1` &> nixos-switch.log || ( cat nixos-switch.log && false )
|
||||||
@rm -f nixos-switch.log
|
@rm -f nixos-switch.log
|
||||||
# @doas nix-prefetch-url file://`pwd`/`ls -1 src/linuxarm64* | tail -n1` &> nixos-switch.log || ( cat nixos-switch.log && false )
|
@# @doas nix-prefetch-url file://`pwd`/`ls -1 src/linuxarm64* | tail -n1` &> nixos-switch.log || ( cat nixos-switch.log && false )
|
||||||
# @rm -f nixos-switch.log
|
@# @rm -f nixos-switch.log
|
||||||
|
|
||||||
# Add everything to git
|
# Add everything to git
|
||||||
ci:
|
ci:
|
||||||
|
|
|
||||||
12
nixos-anywhere/flake.lock
generated
12
nixos-anywhere/flake.lock
generated
|
|
@ -7,11 +7,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741786315,
|
"lastModified": 1762276996,
|
||||||
"narHash": "sha256-VT65AE2syHVj6v/DGB496bqBnu1PXrrzwlw07/Zpllc=",
|
"narHash": "sha256-TtcPgPmp2f0FAnc+DMEw4ardEgv1SGNR3/WFGH0N19M=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "0d8c6ad4a43906d14abd5c60e0ffe7b587b213de",
|
"rev": "af087d076d3860760b3323f6b583f4d828c1ac17",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -22,11 +22,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1741865919,
|
"lastModified": 1762361079,
|
||||||
"narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=",
|
"narHash": "sha256-lz718rr1BDpZBYk7+G8cE6wee3PiBUpn8aomG/vLLiY=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a",
|
"rev": "ffcdcf99d65c61956d882df249a9be53e5902ea5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
BIN
src/linuxx64-25.08.0.88.tar.gz
Normal file
BIN
src/linuxx64-25.08.0.88.tar.gz
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue