Compare commits

...

9 Commits

Author SHA1 Message Date
Audrey 79f6995431 bump 2026-03-06 14:08:25 -07:00
Audrey 32301ed3d6 augh 2026-03-06 00:13:14 -07:00
Audrey bc4205d3ee oh there we go 2026-03-06 05:47:42 +00:00
Audrey 9fb72416ca almost there 2026-03-05 22:29:29 -07:00
Audrey 7cf36bd2b5 rg good 2026-03-03 16:29:36 -07:00
Audrey 4a2f311176 more chrysanthemum 2026-03-01 21:12:54 -07:00
Audrey 32f224b494 oops 2026-02-25 05:12:58 -07:00
Audrey 52c8c73d9d what 2026-02-25 05:09:19 -07:00
Audrey ac0a851962 chrysanthemum attempt 2026-02-24 09:16:33 -07:00
14 changed files with 377 additions and 378 deletions

View File

@ -54,27 +54,6 @@
}; };
}; };
systemd.services.nvim-server = {
enable = false;
wantedBy = [ "multi-user.target" ];
description = "Neovim Server";
script = ''
export PATH="/run/current-system/sw/bin:/run/wrappers/bin:$PATH"
nvim --listen /tmp/nvim.sock --headless
'';
serviceConfig = {
User = "audrey";
Type = "simple";
Restart = "always";
};
environment = {
LOG_CHANNEL_ID = "532689319350108160";
CHANNEL_COUNT = "4";
DELAY_SECONDS = "5";
DEBUG = "0";
};
};
}) (lib.mkIf (pkgs.stdenv.buildPlatform != pkgs.stdenv.hostPlatform) { }) (lib.mkIf (pkgs.stdenv.buildPlatform != pkgs.stdenv.hostPlatform) {
programs.vim = { programs.vim = {
enable = true; enable = true;

View File

@ -4,7 +4,7 @@
... ...
}: }:
{ {
networking.networkmanager.enable = true; #networking.networkmanager.enable = true;
fonts.packages = builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts); fonts.packages = builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
@ -28,7 +28,7 @@
libinput.enable = true; libinput.enable = true;
blueman.enable = true; #blueman.enable = true;
}; };
audrey-sway = { audrey-sway = {
@ -89,15 +89,15 @@
mode = "0700"; mode = "0700";
age = "1d"; age = "1d";
}; };
systemd.services.sysfs-settings = { #systemd.services.sysfs-settings = {
description = "Set desktop sysfs tunables"; # description = "Set desktop sysfs tunables";
script = '' # script = ''
# https://bugzilla.kernel.org/show_bug.cgi?id=219112 # # https://bugzilla.kernel.org/show_bug.cgi?id=219112
test "$(cat /sys/module/kvm/parameters/nx_huge_pages)" = "never" && exit 0 || true # test "$(cat /sys/module/kvm/parameters/nx_huge_pages)" = "never" && exit 0 || true
echo "never" | tee /sys/module/kvm/parameters/nx_huge_pages # echo "never" | tee /sys/module/kvm/parameters/nx_huge_pages
''; # '';
before = [ "boot-complete.target" ]; # before = [ "boot-complete.target" ];
}; #};
hardware.keyboard.qmk.enable = true; hardware.keyboard.qmk.enable = true;
services.udev.packages = [ pkgs.via ]; services.udev.packages = [ pkgs.via ];

View File

@ -2,8 +2,6 @@
let let
nixKey = "/var/lib/nix/binary-cache-key" ; nixKey = "/var/lib/nix/binary-cache-key" ;
in { in {
# it's already default
lix.enable = false;
init.services.nix-key-setup = { init.services.nix-key-setup = {
description = "Generate a nix build signing key"; description = "Generate a nix build signing key";
startType = "oneshot"; startType = "oneshot";

View File

@ -22,7 +22,7 @@ in {
console = { console = {
font = "Lat2-Terminus16"; font = "Lat2-Terminus16";
#keyMap = "us"; keyMap = "us";
useXkbConfig = true; # use xkb.options in tty. useXkbConfig = true; # use xkb.options in tty.
}; };

View File

@ -8,11 +8,11 @@ in {
description = "python packages (p: with p; [ x ]) to include in the global python environment"; description = "python packages (p: with p; [ x ]) to include in the global python environment";
}; };
}; };
imports = [ ./overlays/packages.nix ./overlays/lix.nix ./configuration-cross.nix ]; imports = [ ./overlays/packages.nix ./configuration-cross.nix ];
config = { config = {
nixpkgs.config.allowUnfree = true; nixpkgs.config.allowUnfree = true;
nix.settings.extra-experimental-features = "nix-command flakes pipe-operator"; nix.settings.extra-experimental-features = "nix-command flakes pipe-operators";
nix.settings.trusted-users = [ "audrey" ]; nix.settings.trusted-users = [ "audrey" ];
nix.settings.max-jobs = 1; nix.settings.max-jobs = 1;
nix.settings.cores = 0; nix.settings.cores = 0;
@ -41,11 +41,11 @@ in {
man-pages-posix man-pages-posix
gnumake gnumake
wget wget
moor #moor
ripgrep ripgrep
fd fd
curl curl
btop #btop
file file
nettools nettools
psmisc psmisc
@ -53,27 +53,27 @@ in {
units-desktop units-desktop
patchelf patchelf
gdb gdb
kubectl #kubectl
p7zip p7zip
unzip unzip
zip zip
foremost #foremost
binwalk #binwalk
jq jq
socat socat
nix-index #nix-index
openssl openssl
wireguard-tools #wireguard-tools
cached-nix-shell #cached-nix-shell
tcpdump tcpdump
sqlite sqlite
cronie #cronie
editorconfig-core-c editorconfig-core-c
(python3.withPackages (p: lib.concatMap (pl: pl p) rhelmot.globalPythonPackages)) (python3.withPackages (p: lib.concatMap (pl: pl p) rhelmot.globalPythonPackages))
]; ];
rhelmot.globalPythonPackages = [ (p: with p; [ rhelmot.globalPythonPackages = [ (p: with p; [
virtualenvwrapper #virtualenvwrapper
pylint pylint
pytest pytest
ipdb ipdb
@ -133,7 +133,7 @@ in {
htop.enable = true; htop.enable = true;
git = { git = {
enable = true; enable = true;
lfs.enable = true; #lfs.enable = true;
config = { config = {
user.email = "audrey@rhelmot.io"; user.email = "audrey@rhelmot.io";
user.name = "Audrey Dutcher"; user.name = "Audrey Dutcher";
@ -143,19 +143,19 @@ in {
url."ssh://git@".insteadOf = "git://"; url."ssh://git@".insteadOf = "git://";
}; };
}; };
bat = { #bat = {
enable = true; # enable = true;
extraPackages = with pkgs.bat-extras; [ # extraPackages = with pkgs.bat-extras; [
batdiff # batdiff
batman # batman
prettybat # prettybat
]; # ];
settings = { # settings = {
italic-text = "always"; # italic-text = "always";
wrap = "never"; # wrap = "never";
style = "plain"; # style = "plain";
}; # };
}; #};
}; };
environment.etc."zshrc.local".source = ./dotfiles/zsh-final.sh; environment.etc."zshrc.local".source = ./dotfiles/zsh-final.sh;
@ -169,64 +169,6 @@ in {
services.openssh.enable = true; services.openssh.enable = true;
services.sanoid = lib.mkIf config.boot.zfs.enabled {
enable = true;
datasets."system/home" = {
autosnap = true;
autoprune = true;
recursive = true;
processChildrenOnly = false;
yearly = 0;
monthly = 2;
daily = 7;
hourly = 24;
};
datasets."system/local/var" = {
autosnap = true;
autoprune = true;
recursive = true;
processChildrenOnly = false;
yearly = 0;
monthly = 2;
daily = 7;
hourly = 24;
};
datasets."system/local/root" = {
autosnap = true;
autoprune = true;
recursive = true;
processChildrenOnly = false;
yearly = 0;
monthly = 2;
daily = 7;
hourly = 24;
};
datasets."system/local/var/lib_docker" = {
autosnap = false;
recursive = true;
};
};
services.syncoid = lib.mkIf config.boot.zfs.enabled {
enable = true;
# offset 30min from sanoid to reduce I/O spikes and give sanoid a chance to snapshot before we
# back up
interval = "00/1:30";
service = {
serviceConfig = {
ExecCondition = "+${lib.getExe pkgs.condition-unmetered-network}";
};
};
sshKey = "/var/lib/syncoid/.ssh/id_ed25519";
commands."system" = {
source = "system";
target = "buser@home.rhelmot.io:main/backup/${config.networking.hostName}/system";
# xeni note - option w is weeeeeeeird but the only consequnce is a lack of encryption
#sendOptions = "w";
recursive = true;
extraArgs = ["--skip-parent" "--sshport" "2252"];
};
};
}; };
} }

View File

@ -8,8 +8,12 @@
## Environment sync with uwsm and restart daemons ## Environment sync with uwsm and restart daemons
# #
exec_always 'UWSM_FINALIZE_VARNAMES="${UWSM_FINALIZE_VARNAMES}${UWSM_FINALIZE_VARNAMES:+ }PAM_KWALLET5_LOGIN" uwsm finalize && systemctl --user restart graphical-environment.target' #exec_always 'UWSM_FINALIZE_VARNAMES="${UWSM_FINALIZE_VARNAMES}${UWSM_FINALIZE_VARNAMES:+ }PAM_KWALLET5_LOGIN" uwsm finalize'
exec_always '/etc/sway/generate_palette >~/.cache/sway_palette.json' exec_always '/etc/sway/generate_palette >~/.cache/sway_palette.json'
exec waybar
exec swaync
exec foot --server
exec kanshi
# #
## Variables ## Variables
@ -22,8 +26,7 @@ set $down j
set $up k set $up k
set $right l set $right l
set $term footclient set $term footclient
set $prelaunch uwsm app -- set $menu fuzzel
set $menu fuzzel "--launch-prefix=$prelaunch"
set $swaylock swaylock -c 1a1b26 set $swaylock swaylock -c 1a1b26
# #
@ -31,7 +34,7 @@ set $swaylock swaylock -c 1a1b26
# #
# Support legacy X11 apps # Support legacy X11 apps
xwayland enable #xwayland enable
# Move containers to scratchpad when they try to minimize # Move containers to scratchpad when they try to minimize
scratchpad_minimize enable scratchpad_minimize enable
# Move the mouse to a container when it focuses # Move the mouse to a container when it focuses
@ -79,7 +82,7 @@ bindsym $mod+Return exec $menu
### Command Palette ### Command Palette
bindsym $mod+Ctrl+Return exec /etc/sway/palette bindsym $mod+Ctrl+Return exec /etc/sway/palette
### Terminal ### Terminal
bindsym $mod+t exec $prelaunch $term bindsym $mod+t exec $term
# #
## Special keys ## Special keys

View File

@ -10,7 +10,7 @@
"custom/launcher": { "custom/launcher": {
"format": "", "format": "",
"tooltip-format": "", "tooltip-format": "",
"on-click": "fuzzel --launch-prefix=\"uwsm app --\" --no-exit-on-keyboard-focus-loss", "on-click": "fuzzel --no-exit-on-keyboard-focus-loss",
}, },
"systemd-failed-units": { "systemd-failed-units": {
"format": "󱗗", "format": "󱗗",

View File

@ -7,7 +7,7 @@ unsetopt beep nomatch
# Aliases # Aliases
# #
eval "$(batman --export-env)" #eval "$(batman --export-env)"
# standard functions # standard functions

View File

@ -2,11 +2,11 @@
"nodes": { "nodes": {
"bingosync": { "bingosync": {
"locked": { "locked": {
"lastModified": 1765872749, "lastModified": 1769710902,
"narHash": "sha256-ueriWIOHdyMaVFyqQJVSVxsjhoebX5szbPrL67GBQF4=", "narHash": "sha256-cNkfwDSPOew7CPnkEBfVxZl8tMZDAhD7MQP5AKSCEKE=",
"owner": "rhelmot", "owner": "rhelmot",
"repo": "bingosync", "repo": "bingosync",
"rev": "e94c3ff624b843fd4c02afbdbf22338b1d9c4650", "rev": "7fd458dfb54ff88bc1744223bd6b6f3576bd85da",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -58,63 +58,118 @@
"type": "github" "type": "github"
} }
}, },
"cppnix": {
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"git-hooks-nix": "git-hooks-nix",
"nixpkgs": [
"nixbsd",
"nixpkgs"
],
"nixpkgs-23-11": "nixpkgs-23-11",
"nixpkgs-regression": "nixpkgs-regression"
},
"locked": {
"lastModified": 1772745693,
"narHash": "sha256-4d0xSh/Vy2xI5jqCKmw/Yuo18uAUtnqvBrllNcmXvqU=",
"owner": "rhelmot",
"repo": "nix",
"rev": "38517c6967041d60e469383bc4ce3c0b4adf00ae",
"type": "github"
},
"original": {
"owner": "rhelmot",
"ref": "freebsd-safe",
"repo": "nix",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"flake": false,
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"locked": { "locked": {
"lastModified": 1733328505, "lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"revCount": 69, "revCount": 69,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz?rev=ff81ac966bb2cae68946d5ed5fc4994f96d0ffec&revCount=69"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
} }
}, },
"flake-compat_2": { "flake-parts": {
"flake": false, "inputs": {
"nixpkgs-lib": [
"nixbsd",
"cppnix",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1733312601,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "edolstra", "owner": "hercules-ci",
"repo": "flake-compat", "repo": "flake-parts",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "edolstra", "owner": "hercules-ci",
"repo": "flake-compat", "repo": "flake-parts",
"type": "github" "type": "github"
} }
}, },
"lix": { "git-hooks-nix": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": [
"nix2container": "nix2container", "nixbsd",
"cppnix"
],
"gitignore": [
"nixbsd",
"cppnix"
],
"nixpkgs": [ "nixpkgs": [
"nixbsd", "nixbsd",
"cppnix",
"nixpkgs" "nixpkgs"
], ],
"nixpkgs-regression": [ "nixpkgs-stable": [
"nixbsd", "nixbsd",
"cppnix",
"nixpkgs" "nixpkgs"
], ]
"pre-commit-hooks": "pre-commit-hooks"
}, },
"locked": { "locked": {
"lastModified": 1732339771, "lastModified": 1734279981,
"narHash": "sha256-/ViH3RRdFm9R9WN4szwdwMSbnDnRzNqgkFNR5dBh+Og=", "narHash": "sha256-NdaCraHPp8iYMWzdXAt5Nv6sA3MUzlCiGiR586TCwo0=",
"ref": "freebsd-build", "owner": "cachix",
"rev": "a26c6228c31cc66b31a75f24a95f420952a6cbb2", "repo": "git-hooks.nix",
"revCount": 16516, "rev": "aa9f40c906904ebd83da78e7f328cd8aeaeae785",
"type": "git", "type": "github"
"url": "https://git.lix.systems/artemist/lix.git"
}, },
"original": { "original": {
"ref": "freebsd-build", "owner": "cachix",
"type": "git", "repo": "git-hooks.nix",
"url": "https://git.lix.systems/artemist/lix.git" "type": "github"
} }
}, },
"mini-tmpfiles": { "mini-tmpfiles": {
@ -125,11 +180,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1741473245, "lastModified": 1742754557,
"narHash": "sha256-32ekQLovnjpb1NBvt1/WCEn98khSGljX+QkS+SLSNpM=", "narHash": "sha256-nGxgiNhA94eSl8jcQwCboJ5Ed132z8yrFdOoT+rf8bE=",
"owner": "nixos-bsd", "owner": "nixos-bsd",
"repo": "mini-tmpfiles", "repo": "mini-tmpfiles",
"rev": "1ff4fc98963421e0e6b099ccda721d5a1ca4c887", "rev": "534ee577692c7092fdcd035f89bc29b663c6f9ca",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -138,89 +193,75 @@
"type": "github" "type": "github"
} }
}, },
"nix2container": {
"flake": false,
"locked": {
"lastModified": 1724996935,
"narHash": "sha256-njRK9vvZ1JJsP8oV2OgkBrpJhgQezI03S7gzskCcHos=",
"owner": "nlewo",
"repo": "nix2container",
"rev": "fa6bb0a1159f55d071ba99331355955ae30b3401",
"type": "github"
},
"original": {
"owner": "nlewo",
"repo": "nix2container",
"type": "github"
}
},
"nixbsd": { "nixbsd": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "cppnix": "cppnix",
"lix": "lix", "flake-compat": "flake-compat_2",
"mini-tmpfiles": "mini-tmpfiles", "mini-tmpfiles": "mini-tmpfiles",
"nixpkgs": "nixpkgs" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1743152305, "lastModified": 1772769953,
"narHash": "sha256-jLO2QaCoEqSVF5+UOPAQKE74U4CAlc/5huuaT7I6RL4=", "narHash": "sha256-3NRnNY5L8dm3bc12nr3wk4sMOWbvO1m5s7/wWXXwx2Q=",
"owner": "nixos-bsd", "owner": "nixos-bsd",
"repo": "nixbsd", "repo": "nixbsd",
"rev": "79c61bb25529d19cc1e6922b499162b5dda54268", "rev": "87787927615d57969df3faf3cdeeb1bf1f3e1576",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos-bsd", "owner": "nixos-bsd",
"ref": "main", "ref": "nixbsd-demo",
"repo": "nixbsd", "repo": "nixbsd",
"type": "github" "type": "github"
} }
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1741684394, "lastModified": 1772828289,
"narHash": "sha256-6G65wM+dJUgt0RfzxbN08OnhdY+YiYFdEpExFvPU6yg=", "narHash": "sha256-rNKF1bFtrV+1Lable7vVxw53W0EM0qCOXW+TfL6wwQs=",
"owner": "nixos-bsd", "owner": "rhelmot",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "30f30c8fdf82dfcbceb0c4e1dafda15e6faaa76d", "rev": "c6b65605b4caf622440e7287e0394a789def6729",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos-bsd", "owner": "rhelmot",
"ref": "nixbsd-dev-new", "ref": "freebsd-graphical-wip",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs-23-11": {
"locked": { "locked": {
"lastModified": 1770617025, "lastModified": 1717159533,
"narHash": "sha256-1jZvgZoAagZZB6NwGRv2T2ezPy+X6EFDsJm+YSlsvEs=", "narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2db38e08fdadcc0ce3232f7279bab59a15b94482", "rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-25.11",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github" "type": "github"
} }
}, },
"pre-commit-hooks": { "nixpkgs-regression": {
"flake": false,
"locked": { "locked": {
"lastModified": 1726745158, "lastModified": 1643052045,
"narHash": "sha256-D5AegvGoEjt4rkKedmxlSEmC+nNLMBPWFxvmYnVLhjk=", "narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=",
"owner": "cachix", "owner": "NixOS",
"repo": "git-hooks.nix", "repo": "nixpkgs",
"rev": "4e743a6920eab45e8ba0fbe49dc459f1423a4b74", "rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "cachix", "owner": "NixOS",
"repo": "git-hooks.nix", "repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github" "type": "github"
} }
}, },
@ -229,7 +270,7 @@
"bingosync": "bingosync", "bingosync": "bingosync",
"blog-rhelmot-io": "blog-rhelmot-io", "blog-rhelmot-io": "blog-rhelmot-io",
"nixbsd": "nixbsd", "nixbsd": "nixbsd",
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs"
} }
}, },
"systems": { "systems": {

View File

@ -1,8 +1,9 @@
{ {
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; nixpkgs.url = "github:rhelmot/nixpkgs/freebsd-graphical-wip";
#nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; #nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
nixbsd.url = "github:nixos-bsd/nixbsd/main"; nixbsd.url = "github:nixos-bsd/nixbsd/nixbsd-demo";
nixbsd.inputs.nixpkgs.follows = "nixpkgs";
bingosync.url = "github:rhelmot/bingosync"; bingosync.url = "github:rhelmot/bingosync";
blog-rhelmot-io.url = "git+https://git.lain.faith/rhelmot/blog.rhelmot.io"; blog-rhelmot-io.url = "git+https://git.lain.faith/rhelmot/blog.rhelmot.io";
@ -28,15 +29,15 @@
./sites/${name}/configuration.nix ./sites/${name}/configuration.nix
{ nixpkgs.buildPlatform = platform; } { nixpkgs.buildPlatform = platform; }
self.modules.audrey-sway self.modules.audrey-sway
self.modules.mobile-timezone #self.modules.mobile-timezone
self.modules.kakoune self.modules.kakoune
self.modules.zfs-module self.modules.zfs-module
self.modules.syncthing-cluster #self.modules.syncthing-cluster
{ #{
services.syncthing-cluster.deviceIds = ./keys/syncthing; # services.syncthing-cluster.deviceIds = ./keys/syncthing;
services.syncthing-cluster.coordinator = "hydrangea"; # services.syncthing-cluster.coordinator = "hydrangea";
} #}
bingosync.nixosModules.default #bingosync.nixosModules.default
#nixos-defcon.nixosModules.pkgsOverlay #nixos-defcon.nixosModules.pkgsOverlay
#nixos-defcon.nixosModules.tulip #nixos-defcon.nixosModules.tulip
#nixos-defcon.nixosModules.noscope #nixos-defcon.nixosModules.noscope

View File

@ -1,2 +1,2 @@
clove:UVUGJicEY/PmVWqi4dlqmsNIglGFAsJzgLLsgVrMKsM= clove:WbMoKN9/WvTS/tCNa2+75MImjZuqX8X094i5vT0dKTU=
daisy:HU3mg1KY/sGYVZk243dgJRDLKHASRmu8/IXeGI/sdE8= daisy:HU3mg1KY/sGYVZk243dgJRDLKHASRmu8/IXeGI/sdE8=

View File

@ -42,69 +42,69 @@ in
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
programs.regreet.enable = true; #programs.regreet.enable = true;
services.greetd.settings = { #services.greetd.settings = {
default_session.command = "${pkgs.dbus}/bin/dbus-run-session ${lib.getExe config.programs.sway.package} -c /etc/sway/greeter-config"; # default_session.command = "${pkgs.dbus}/bin/dbus-run-session ${lib.getExe config.programs.sway.package} -c /etc/sway/greeter-config";
}; #};
programs.regreet.settings = { #programs.regreet.settings = {
background.fit = "Fill"; # background.fit = "Fill";
GTK.application_prefer_dark_theme = true; # GTK.application_prefer_dark_theme = true;
}; #};
environment.etc."sway/config".source = lib.mkForce ../dotfiles/sway/config; environment.etc."sway/config".source = lib.mkForce ../dotfiles/sway/config;
environment.etc."sway/sws".source = ../dotfiles/sway/sws.sh; environment.etc."sway/sws".source = ../dotfiles/sway/sws.sh;
environment.etc."sway/generate_palette".source = ../dotfiles/sway/generate_palette.sh; environment.etc."sway/generate_palette".source = ../dotfiles/sway/generate_palette.sh;
environment.etc."sway/palette".source = ../dotfiles/sway/palette.sh; environment.etc."sway/palette".source = ../dotfiles/sway/palette.sh;
environment.etc."sway/bg".source = cfg.background; environment.etc."sway/bg".source = cfg.background;
environment.etc."sway/greeter-config".source = lib.mkForce (pkgs.writeText "sway-greeter-config" '' #environment.etc."sway/greeter-config".source = lib.mkForce (pkgs.writeText "sway-greeter-config" ''
exec "${lib.getExe config.programs.regreet.package}; swaymsg exit" # exec "${lib.getExe config.programs.regreet.package}; swaymsg exit"
output * scale 2 # output * scale 2
input type:keyboard { # input type:keyboard {
xkb_options "caps:escape" # xkb_options "caps:escape"
} # }
input type:touchpad { # input type:touchpad {
dwt enabled # dwt enabled
dwtp enabled # dwtp enabled
tap enabled # tap enabled
tap_button_map lrm # tap_button_map lrm
natural_scroll enabled # natural_scroll enabled
} # }
# Brightness # # Brightness
bindsym --locked XF86MonBrightnessDown exec light -U 10 # bindsym --locked XF86MonBrightnessDown exec light -U 10
bindsym --locked XF86MonBrightnessUp exec light -A 10 # bindsym --locked XF86MonBrightnessUp exec light -A 10
blur enable # blur enable
corner_radius 8 # corner_radius 8
shadows enable # shadows enable
shadow_blur_radius 8 # shadow_blur_radius 8
''); #'');
environment.etc."xdg/waybar".source = ../dotfiles/waybar; environment.etc."xdg/waybar".source = ../dotfiles/waybar;
environment.etc."xdg/swayr".source = ../dotfiles/swayr; environment.etc."xdg/swayr".source = ../dotfiles/swayr;
environment.etc."xdg/fuzzel".source = ../dotfiles/fuzzel; environment.etc."xdg/fuzzel".source = ../dotfiles/fuzzel;
environment.etc."xdg/foot".source = ../dotfiles/foot; environment.etc."xdg/foot".source = ../dotfiles/foot;
environment.etc."xdg/xdg-desktop-portal-wlr/config".source = ../dotfiles/xdg-desktop-portal-wlr; environment.etc."xdg/xdg-desktop-portal-wlr/config".source = ../dotfiles/xdg-desktop-portal-wlr;
programs.uwsm = { #programs.uwsm = {
enable = true; # enable = true;
waylandCompositors.sway = { # waylandCompositors.sway = {
prettyName = "Sway"; # prettyName = "Sway";
binPath = "/run/current-system/sw/bin/sway"; # binPath = "/run/current-system/sw/bin/sway";
}; # };
}; #};
programs.sway = { programs.sway = {
enable = true; enable = true;
package = pkgs.swayfx; package = pkgs.swayfx;
wrapperFeatures.gtk = true; wrapperFeatures.gtk = true;
xwayland.enable = true; #xwayland.enable = true;
extraPackages = with pkgs; [ extraPackages = with pkgs; [
swaylock swaylock
swaynotificationcenter swaynotificationcenter
swayr #swayr
pavucontrol #pavucontrol
pulseaudio #pulseaudio
libnotify libnotify
wdisplays wdisplays
playerctl #playerctl
grim grim
slurp slurp
swayidle swayidle
@ -115,10 +115,11 @@ in
fuzzel fuzzel
gsettings-desktop-schemas gsettings-desktop-schemas
glib glib
kdePackages.kwallet kanshi
networkmanagerapplet #kdePackages.kwallet
#networkmanagerapplet
adwaita-icon-theme adwaita-icon-theme
reversal-icon-theme #reversal-icon-theme
whitesur-icon-theme whitesur-icon-theme
xdg-user-dirs xdg-user-dirs
]; ];
@ -131,113 +132,114 @@ in
}; };
environment.pathsToLink = [ "/share/gsettings-schemas" ]; environment.pathsToLink = [ "/share/gsettings-schemas" ];
#environment.sessionVariables.XDG_DATA_DIRS = [ "/run/current-system/sw/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}" ]; #environment.sessionVariables.XDG_DATA_DIRS = [ "/run/current-system/sw/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}" ];
programs.light.enable = true; #programs.light.enable = true;
security.pam.services.swaylock = {}; security.pam.services.swaylock = {};
security.pam.loginLimits = [ security.pam.loginLimits = [
{ domain = "@users"; item = "rtprio"; type = "-"; value = 1; } { domain = "@users"; item = "rtprio"; type = "-"; value = 1; }
]; ];
security.pam.services = { security.pam.services = {
greetd.kwallet = { #greetd.kwallet = {
enable = true; # enable = true;
package = pkgs.kdePackages.kwallet-pam; # package = pkgs.kdePackages.kwallet-pam;
forceRun = true; # forceRun = true;
#};
#greetd.rules.session.kwallet.settings.auto_start = true;
}; };
greetd.rules.session.kwallet.settings.auto_start = true; security.polkit.enable = lib.mkForce false;
}; programs.xwayland.enable = false;
security.polkit.enable = true;
programs.dconf.enable = true; programs.dconf.enable = true;
services.power-profiles-daemon.enable = true; #services.power-profiles-daemon.enable = true;
systemd.user.targets.graphical-environment = { }; #systemd.user.targets.graphical-environment = { };
systemd.user.services.kanshi = { #systemd.user.services.kanshi = {
description = "Monitor hotswap daemon"; # description = "Monitor hotswap daemon";
serviceConfig = { # serviceConfig = {
Type = "simple"; # Type = "simple";
ExecStart = lib.getExe pkgs.kanshi; # ExecStart = lib.getExe pkgs.kanshi;
}; # };
partOf = [ "graphical-environment.target" ]; # partOf = [ "graphical-environment.target" ];
wantedBy = [ "graphical-environment.target" ]; # wantedBy = [ "graphical-environment.target" ];
}; #};
systemd.user.services.swayidle = { #systemd.user.services.swayidle = {
description = "Idle lock + sleep manager"; # description = "Idle lock + sleep manager";
serviceConfig = { # serviceConfig = {
Type = "simple"; # Type = "simple";
ExecStart = '' # ExecStart = ''
${lib.getExe pkgs.swayidle} -w \ # ${lib.getExe pkgs.swayidle} -w \
timeout 300 'swaymsg "output * power off"' \ # timeout 300 'swaymsg "output * power off"' \
resume 'swaymsg "output * power on"' \ # resume 'swaymsg "output * power on"' \
timeout 360 '${swaylockCmd} -f' \ # timeout 360 '${swaylockCmd} -f' \
timeout 600 'systemctl suspend' \ # timeout 600 'systemctl suspend' \
before-sleep '${swaylockCmd} -f' # before-sleep '${swaylockCmd} -f'
''; # '';
}; # };
path = [ "/run/current-system/sw" ]; # path = [ "/run/current-system/sw" ];
partOf = [ "graphical-environment.target" ]; # partOf = [ "graphical-environment.target" ];
wantedBy = [ "graphical-environment.target" ]; # wantedBy = [ "graphical-environment.target" ];
}; #};
systemd.user.services.waybar = { #systemd.user.services.waybar = {
description = "Desktop status bar"; # description = "Desktop status bar";
serviceConfig = { # serviceConfig = {
Type = "simple"; # Type = "simple";
ExecStart = lib.getExe pkgs.waybar; # ExecStart = lib.getExe pkgs.waybar;
}; # };
path = [ "/run/current-system/sw" ]; # path = [ "/run/current-system/sw" ];
partOf = [ "graphical-environment.target" ]; # partOf = [ "graphical-environment.target" ];
wantedBy = [ "graphical-environment.target" ]; # wantedBy = [ "graphical-environment.target" ];
}; #};
systemd.user.services.networkmanagerapplet = { #systemd.user.services.networkmanagerapplet = {
description = "Networkmanager applet"; # description = "Networkmanager applet";
serviceConfig = { # serviceConfig = {
Type = "simple"; # Type = "simple";
ExecStart = lib.getExe pkgs.networkmanagerapplet; # ExecStart = lib.getExe pkgs.networkmanagerapplet;
}; # };
path = [ "/run/current-system/sw" ]; # path = [ "/run/current-system/sw" ];
partOf = [ "graphical-environment.target" ]; # partOf = [ "graphical-environment.target" ];
wantedBy = [ "graphical-environment.target" ]; # wantedBy = [ "graphical-environment.target" ];
}; #};
systemd.user.services.pasystray = { #systemd.user.services.pasystray = {
description = "Pulseaudio system tray icon"; # description = "Pulseaudio system tray icon";
serviceConfig = { # serviceConfig = {
Type = "simple"; # Type = "simple";
ExecStart = "${lib.getExe pkgs.pasystray} --notify source --notify sink -m 100"; # ExecStart = "${lib.getExe pkgs.pasystray} --notify source --notify sink -m 100";
}; # };
path = [ "/run/current-system/sw" ]; # path = [ "/run/current-system/sw" ];
partOf = [ "graphical-environment.target" ]; # partOf = [ "graphical-environment.target" ];
wantedBy = [ "graphical-environment.target" ]; # wantedBy = [ "graphical-environment.target" ];
}; #};
systemd.user.services.kdeconnect-indicator = { #systemd.user.services.kdeconnect-indicator = {
description = "KDE connect indicator"; # description = "KDE connect indicator";
serviceConfig = { # serviceConfig = {
Type = "simple"; # Type = "simple";
ExecStart = "${lib.getBin pkgs.kdePackages.kdeconnect-kde}/bin/kdeconnect-indicator"; # ExecStart = "${lib.getBin pkgs.kdePackages.kdeconnect-kde}/bin/kdeconnect-indicator";
}; # };
path = [ "/run/current-system/sw" ]; # path = [ "/run/current-system/sw" ];
partOf = [ "graphical-environment.target" ]; # partOf = [ "graphical-environment.target" ];
wantedBy = [ "graphical-environment.target" ]; # wantedBy = [ "graphical-environment.target" ];
}; #};
systemd.user.services.swayr = { #systemd.user.services.swayr = {
description = "Sway MRU window switcher"; # description = "Sway MRU window switcher";
serviceConfig = { # serviceConfig = {
Type = "simple"; # Type = "simple";
ExecStart = "${lib.getBin pkgs.swayr}/bin/swayrd"; # ExecStart = "${lib.getBin pkgs.swayr}/bin/swayrd";
}; # };
path = [ "/run/current-system/sw" ]; # path = [ "/run/current-system/sw" ];
partOf = [ "graphical-environment.target" ]; # partOf = [ "graphical-environment.target" ];
wantedBy = [ "graphical-environment.target" ]; # wantedBy = [ "graphical-environment.target" ];
}; #};
systemd.user.services.polkit-gnome-authentication-agent-1 = { #systemd.user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1"; # description = "polkit-gnome-authentication-agent-1";
partOf = [ "graphical-environment.target" ]; # partOf = [ "graphical-environment.target" ];
wantedBy = [ "graphical-environment.target" ]; # wantedBy = [ "graphical-environment.target" ];
serviceConfig = { # serviceConfig = {
Type = "simple"; # Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; # ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure"; # Restart = "on-failure";
RestartSec = 1; # RestartSec = 1;
TimeoutStopSec = 10; # TimeoutStopSec = 10;
}; # };
}; #};
systemd.packages = [ pkgs.foot ]; #systemd.packages = [ pkgs.foot ];
systemd.user.sockets.foot-server.wantedBy = [ "graphical-environment.target" ]; #systemd.user.sockets.foot-server.wantedBy = [ "graphical-environment.target" ];
audrey-sway.extraPaletteEntries = [ audrey-sway.extraPaletteEntries = [
{ name = "Command Palette"; } { name = "Command Palette"; }

View File

@ -4,22 +4,50 @@
networking.hostName = "chrysanthemum"; networking.hostName = "chrysanthemum";
networking.hostId = "6bb591ac"; networking.hostId = "6bb591ac";
networking.dhcpcd.wait = "background";
networking.interfaces.wlan0.wlandev = "iwlwifi0";
services.wpa_supplicant.configFile = "/home/audrey/wpa_supplicant.conf";
system.stateVersion = "25.04"; system.stateVersion = "25.11";
environment.etc.machine-id.text = "d3d521900f0e11f0af2b9d9b219a1c36\n"; environment.etc.machine-id.text = "d3d521900f0e11f0af2b9d9b219a1c36\n";
security.sudo.wheelNeedsPassword = false; security.sudo.wheelNeedsPassword = false;
hardware.opengl.enable = true; hardware.opengl.enable = true;
services.dbus.enable = true; services.dbus.enable = true;
services.accounts-daemon.enable = true; services.seatd.enable = true;
services.consolekit2.enable = true; boot.extraModulePackages = [ pkgs.freebsd.wifi-firmware-kmod ];
services.xserver = { users.users.audrey.extraGroups = [
enable = true; "u2f"
displayManager.lightdm.enable = true; "seat"
displayManager.defaultSession = "xfce"; "_video"
desktopManager.xfce = { ];
enable = true; # boot.kernelEnvironment."hw.psm.synaptics_support" = "1";
}; boot.kernelEnvironment."compat.linuxkpi.iwlwifi_disable_11ac" = "0";
exportConfiguration = true; boot.kernelEnvironment."compat.linuxkpi.iwlwifi_11n_disable" = "0";
}; freebsd.rc.conf.kld_list = "i915kms";
audrey-sway.enable = true;
environment.systemPackages = with pkgs; [
firefox
foot
dino
fzf
(libinput.override { eventGUISupport = true; })
util-linuxMinimal
];
fonts.packages = builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
services.powerd.enable = true;
hardware.bsdfan.enable = true;
#services.accounts-daemon.enable = true;
#services.consolekit2.enable = true;
#services.xserver = {
# enable = true;
# displayManager.lightdm.enable = true;
# displayManager.defaultSession = "xfce";
# desktopManager.xfce = {
# enable = true;
# };
# exportConfiguration = true;
#};
} }

View File

@ -2,31 +2,36 @@
{ {
fileSystems."/" = fileSystems."/" =
{ device = "system/local/root"; { device = "system/tier1/root";
fsType = "zfs";
};
fileSystems."/nix" =
{ device = "system/local/nix";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/var" = fileSystems."/var" =
{ device = "system/local/var"; { device = "system/tier1/var";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/home" = fileSystems."/home" =
{ device = "system/home"; { device = "system/tier1/home";
fsType = "zfs";
};
fileSystems."/nix" =
{ device = "system/scratch/nix";
fsType = "zfs";
};
fileSystems."/tmp" =
{ device = "system/scratch/tmp";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/boot" = fileSystems."/boot" =
{ device = "/dev/gpt/ESP"; { device = "/dev/nda0p1";
fsType = "msdos"; fsType = "msdos";
}; };
swapDevices = [ { device = "/dev/gpt/swap"; } ]; #swapDevices = [ { device = "/dev/gpt/swap"; } ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-freebsd"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-freebsd";
} }