Compare commits

..

2 Commits

Author SHA1 Message Date
20c47da380 fixes + dunst config stuff 2025-02-20 10:08:10 -05:00
5cb473d279 done 2025-02-10 21:47:57 -05:00
18 changed files with 185 additions and 134 deletions

1
.gitattributes vendored
View File

@@ -2,3 +2,4 @@ home-manager/secrets/factorio.nix filter=git-crypt diff=git-crypt
etcnixos/secrets/secureboot.tar filter=git-crypt diff=git-crypt
etcnixos/secrets/wifi-passwords.nix filter=git-crypt diff=git-crypt
etcnixos/secrets/disk-password filter=git-crypt diff=git-crypt
etcnixos/secrets/password-hash filter=git-crypt diff=git-crypt

View File

@@ -49,8 +49,8 @@
# kernel options
boot = {
# kernelPackages = pkgs.linuxPackages_cachyos-lto;
kernelPackages = pkgs.linuxPackages_latest;
kernelPackages = pkgs.linuxPackages_cachyos-lto;
# kernelPackages = pkgs.linuxPackages_latest;
kernel.sysctl = {
# dmesg shushhhhh
@@ -126,7 +126,7 @@
];
};
age.identityPaths = [ "/home/${username}/.ssh/id_ed25519" ];
# age.identityPaths = [ "/home/${username}/.ssh/id_ed25519" ];
# networking
networking = import ./networking.nix { inherit hostname; };
@@ -168,11 +168,6 @@
pulse.enable = true;
};
age.secrets.password-hash = {
file = ./secrets/password-hash.age;
path = "/tmp/password-hash-secret";
};
# Define my user account (the rest of the configuration if found in `~/.config/home-manager/...`)
users.users.${username} = {
isNormalUser = true;
@@ -183,7 +178,7 @@
"camera"
"adbusers"
];
hashedPasswordFile = config.age.secrets.password-hash.path;
hashedPasswordFile = "${./secrets/password-hash}";
};
services.gvfs.enable = true;
@@ -216,7 +211,7 @@
dmidecode
(inputs.agenix.packages.${pkgs.system}.default.override { ageBin = "${pkgs.rage}/bin/rage"; })
# (inputs.agenix.packages.${pkgs.system}.default.override { ageBin = "${pkgs.rage}/bin/rage"; })
doas-sudo-shim
@@ -226,6 +221,11 @@
man-pages
man-pages-posix
# needed for home-manager
git
home-manager
# https://github.com/chaotic-cx/nyx/issues/972
# config.boot.kernelPackages.perf
];

64
etcnixos/flake.lock generated
View File

@@ -34,11 +34,11 @@
]
},
"locked": {
"lastModified": 1739212779,
"narHash": "sha256-7U7fOAOVy/AaOtw3HflnwEeXZJ9+ldxVU/Mx5tGN9A4=",
"lastModified": 1740016447,
"narHash": "sha256-96hBRGwuG+CFI5+inRIDCh0Za4LOt1dlbO3pFOokw6Y=",
"owner": "chaotic-cx",
"repo": "nyx",
"rev": "175a7f545d07bd08c14709f0d0849a8cddaaf460",
"rev": "ed7900391a1969bb0bde432fd3952a6dda37114c",
"type": "github"
},
"original": {
@@ -85,6 +85,27 @@
"type": "github"
}
},
"disko": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1736864502,
"narHash": "sha256-ItkIZyebGvNH2dK9jVGzJHGPtb6BSWLN8Gmef16NeY0=",
"owner": "nix-community",
"repo": "disko",
"rev": "0141aabed359f063de7413f80d906e1d98c0c123",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "latest",
"repo": "disko",
"type": "github"
}
},
"fenix": {
"inputs": {
"nixpkgs": [
@@ -94,11 +115,11 @@
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1739082714,
"narHash": "sha256-cylMa750pId3Hqvzyurd86qJIYyyMWB0M7Gbh7ZB2tY=",
"lastModified": 1739946876,
"narHash": "sha256-ek0u5FT5yjqYKjF/0HQKwDH2ISZzyvYwu+My5hmSwbU=",
"owner": "nix-community",
"repo": "fenix",
"rev": "e84058a7fe56aa01f2db19373cce190098494698",
"rev": "95c1eab59767a3dbb11d6616d4ff736813ce41d2",
"type": "github"
},
"original": {
@@ -209,11 +230,11 @@
]
},
"locked": {
"lastModified": 1739051380,
"narHash": "sha256-p1QSLO8DJnANY+ppK7fjD8GqfCrEIDjso1CSRHsXL7Y=",
"lastModified": 1739913864,
"narHash": "sha256-WhzgQjadrwnwPJQLLxZUUEIxojxa7UWDkf7raAkB1Lw=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "5af1b9a0f193ab6138b89a8e0af8763c21bbf491",
"rev": "97ac0801d187b2911e8caa45316399de12f6f199",
"type": "github"
},
"original": {
@@ -231,11 +252,11 @@
]
},
"locked": {
"lastModified": 1738875499,
"narHash": "sha256-P3VbO2IkEW+0d0pJU7CuX8e+obSoiDw/YCVL1mnA26w=",
"lastModified": 1739952453,
"narHash": "sha256-+tyFW6nNj1fJ1VTtLeqe1PMp5F7Fb9zIkT6mUvdQHrM=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "4642ec1073a7417e6303484d8f2e7d29dc24a50f",
"rev": "b2ed82d3ff837960df4518308dfe409dda3ae406",
"type": "github"
},
"original": {
@@ -294,11 +315,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1738816619,
"narHash": "sha256-5yRlg48XmpcX5b5HesdGMOte+YuCy9rzQkJz+imcu6I=",
"lastModified": 1739798439,
"narHash": "sha256-GyipmjbbQEaosel/+wq1xihCKbv0/e1LU00x/8b/fP4=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "2eccff41bab80839b1d25b303b53d339fbb07087",
"rev": "3e2ea8a49d4d76276b0f4e2041df8ca5c0771371",
"type": "github"
},
"original": {
@@ -310,11 +331,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1739020877,
"narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=",
"lastModified": 1739866667,
"narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a79cfe0ebd24952b580b1cf08cd906354996d547",
"rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680",
"type": "github"
},
"original": {
@@ -371,6 +392,7 @@
"inputs": {
"agenix": "agenix",
"chaotic": "chaotic",
"disko": "disko",
"lanzaboote": "lanzaboote",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs"
@@ -379,11 +401,11 @@
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1738997488,
"narHash": "sha256-jeNdFVtEDLypGIbNqBjURovfw9hMkVtlLR7j/5fRh54=",
"lastModified": 1739913186,
"narHash": "sha256-7MSzs64dLDgq1wFw2eujZ01qdj9K+TwIlQMyWebotE8=",
"owner": "rust-lang",
"repo": "rust-analyzer",
"rev": "208bc52b5dc177badc081c64eb0584a313c73242",
"rev": "3028f844c5898dcf115f6bc67a5ce793989b04a1",
"type": "github"
},
"original": {

View File

@@ -15,27 +15,6 @@
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
# fileSystems."/" = {
# device = "/dev/disk/by-uuid/acbd96e3-e7c7-442d-82cc-ce2913a9e90c";
# fsType = "btrfs";
# options = [
# "subvol=@"
# "compress=zstd"
# "autodefrag"
# "noatime"
# "space_cache=v2"
# "discard"
# ];
# };
# boot.initrd.luks.devices."luks-0f481d5f-528c-4838-bd8a-d2780b4ba234".device =
# "/dev/disk/by-uuid/0f481d5f-528c-4838-bd8a-d2780b4ba234";
# fileSystems."/boot" = {
# device = "/dev/disk/by-uuid/4D19-520E";
# fsType = "vfat";
# };
disko.devices = {
disk = {
main = {
@@ -78,7 +57,6 @@
};
};
};
};
swapDevices = [ ];

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, lib, ... }:
{
systemd.services.no-rgb =
let
@@ -27,7 +27,7 @@
{
description = "disable rgb";
serviceConfig = {
ExecStart = "${no-rgb}/bin/${no-rgb.name}";
ExecStart = "${lib.getExe no-rgb}";
Type = "oneshot";
};
wantedBy = [ "multi-user.target" ];

Binary file not shown.

Binary file not shown.

View File

@@ -1,16 +0,0 @@
let
laptop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO4jL6gYOunUlUtPvGdML0cpbKSsPNqQ1jit4E7U1RyH";
desktop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBJjT5QZ3zRDb+V6Em20EYpSEgPW5e/U+06uQGJdraxi";
in
(builtins.listToAttrs (
map
(f: {
f.publicKeys = [
laptop
desktop
];
})
[
"password-hash.age"
]
))

View File

@@ -6,6 +6,10 @@
inputs,
...
}:
let
untar = pkgs.callPackage ./util/untar.nix;
in
{
imports = [
./common.nix
@@ -15,12 +19,12 @@
inputs.lanzaboote.nixosModules.lanzaboote
];
hardware.framework.laptop13.audioEnhancement = {
enable = true;
# hardware.framework.laptop13.audioEnhancement = {
# enable = true;
# seems audio doesn't work without this
hideRawDevice = false;
};
# # seems audio doesn't work without this
# hideRawDevice = false;
# };
services.tlp = {
enable = true;
@@ -58,10 +62,11 @@
};
boot = {
# lanzaboote = {
# enable = true;
# pkiBundle = "/etc/secureboot";
# };
lanzaboote = {
enable = true;
# TODO: proper secrets management so this is not stored in nix store
pkiBundle = "${(untar { src = "${./secrets/secureboot.tar}"; })}";
};
# Bootloader.
loader = {
@@ -71,7 +76,7 @@
generated at installation time. So we force it to false
for now.
*/
# systemd-boot.enable = lib.mkForce false;
systemd-boot.enable = lib.mkForce false;
};
kernelParams = [
@@ -106,20 +111,18 @@
TTYVTDisallocate = true;
};
system.activationScripts = {
# FIX: https://github.com/NixOS/nix/issues/2982
"profile-channel-dummy".text = ''
#!/bin/sh
mkdir -p /nix/var/nix/profiles/per-user/root/channels
'';
};
# weird hack to get swaylock working? idk, if you don't put this here, password entry doesnt work
# if I move to another lock screen program, i will have to replace `swaylock`
security.pam.services.swaylock = { };
# system.activationScripts = {
# # extract all my secureboot keys
# "secureboot-keys".text = ''
# #!/bin/sh
# rm -fr ${config.boot.lanzaboote.pkiBundle} || true
# mkdir -p ${config.boot.lanzaboote.pkiBundle}
# ${pkgs.gnutar}/bin/tar xf ${./secrets/secureboot.tar} -C ${config.boot.lanzaboote.pkiBundle}
# '';
# };
# disable framework kernel module
# https://github.com/NixOS/nixos-hardware/issues/1330
hardware.framework.enableKmod = false;

21
etcnixos/util/untar.nix Normal file
View File

@@ -0,0 +1,21 @@
{
stdenv,
gnutar,
src,
}:
stdenv.mkDerivation {
pname = "untar";
version = "1.0";
inherit src;
buildInputs = [ gnutar ];
# input is a file, not a directory, skip unpackPhase
unpackPhase = "true";
installPhase = ''
mkdir -p $out
tar xf ${src} -C $out/
'';
}

View File

@@ -54,11 +54,11 @@
]
},
"locked": {
"lastModified": 1739226747,
"narHash": "sha256-uO80xwFP2sjL8qWhwplxD6GcadHbbLs5ph2CFPNh8pI=",
"lastModified": 1739992710,
"narHash": "sha256-9kEscmGnXHjSgcqyJR4TzzHhska4yz1inSQs6HuO9qU=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "a3c9e88177f0dc4a2662b5324572425f59129f11",
"rev": "1c189f011447810af939a886ba7bee33532bb1f9",
"type": "github"
},
"original": {
@@ -79,11 +79,11 @@
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
},
"locked": {
"lastModified": 1739206396,
"narHash": "sha256-dfU3l47sxFQbqLe5R9um//V5hplv/MhSwsZJR7JzBrg=",
"lastModified": 1740045415,
"narHash": "sha256-dLg4Re8AdmlTYWu6FHR60cem9fErXnWXRJi6/Du5L3M=",
"owner": "sodiboo",
"repo": "niri-flake",
"rev": "9f15e7ace2dea798ce3490d2f723095ad4cce0d4",
"rev": "a622f76d3f97ce289f2103b6999f80a3732d629b",
"type": "github"
},
"original": {
@@ -112,11 +112,11 @@
"niri-unstable": {
"flake": false,
"locked": {
"lastModified": 1739201373,
"narHash": "sha256-6upEicgdJH3JaS1oXS+wsgLToU14XL8/aOyL2KcS3KY=",
"lastModified": 1740042509,
"narHash": "sha256-Yk1DXv4oRdbi2P8v4b7GV6wXJaAa5jOK0femtfxlGAg=",
"owner": "YaLTeR",
"repo": "niri",
"rev": "20769b4c2f843566880f020f117e7bde36edc332",
"rev": "8885233c7e036a1e279c09e4fd96c1a1669156c3",
"type": "github"
},
"original": {
@@ -127,11 +127,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1739020877,
"narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=",
"lastModified": 1739866667,
"narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a79cfe0ebd24952b580b1cf08cd906354996d547",
"rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680",
"type": "github"
},
"original": {
@@ -143,11 +143,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1739055578,
"narHash": "sha256-2MhC2Bgd06uI1A0vkdNUyDYsMD0SLNGKtD8600mZ69A=",
"lastModified": 1739923778,
"narHash": "sha256-BqUY8tz0AQ4to2Z4+uaKczh81zsGZSYxjgvtw+fvIfM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a45fa362d887f4d4a7157d95c28ca9ce2899b70e",
"rev": "36864ed72f234b9540da4cf7a0c49e351d30d3f1",
"type": "github"
},
"original": {
@@ -174,11 +174,11 @@
]
},
"locked": {
"lastModified": 1739154531,
"narHash": "sha256-QGeN6e0nMJlNLzm3Y2A7P6riXhQXMeCXLZ7yajZYFQM=",
"lastModified": 1740018520,
"narHash": "sha256-mU6H0Q1WPn0XuwBO9SLZb/1yeVMfvsifBJcXNlhB+Ts=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "035dac86ab7ce5c1e8a4d59dfe85e6911a3526ea",
"rev": "7f6ecf3b7c5bfcc4730943a767630122efd09dc8",
"type": "github"
},
"original": {
@@ -222,11 +222,11 @@
"xwayland-satellite-unstable": {
"flake": false,
"locked": {
"lastModified": 1737837494,
"narHash": "sha256-wIMowP8Juas4ZwMRcpc+58sZ0kKTDu8fm13THPmv/F8=",
"lastModified": 1739246919,
"narHash": "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU=",
"owner": "Supreeeme",
"repo": "xwayland-satellite",
"rev": "3944c9a0e40e5629f16ad023bbc90dac80d35a0f",
"rev": "44590a416d4a3e8220e19e29e0b6efe64a80315d",
"type": "github"
},
"original": {
@@ -242,11 +242,11 @@
]
},
"locked": {
"lastModified": 1739161281,
"narHash": "sha256-cMM5E5EzEnfQFdBurCVqCi9mhsmRCeaEJB4iskPsQ1o=",
"lastModified": 1739667343,
"narHash": "sha256-fNEz+Yd0t9jXz27qKRMAEBradTwYBeBLOECx+ydG25s=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "0e962f036e6e2a9dde28f37d80104c7ea477a801",
"rev": "8c7f6ca49f87b4e114f775a4dad956ceb6df4220",
"type": "github"
},
"original": {

View File

@@ -113,9 +113,12 @@
wl-screenrec
gimp
pinta
# wayland-compatible color picker
hyprpicker
blender
]
++ (builtins.filter lib.isDerivation (builtins.attrValues nerd-fonts));

View File

@@ -161,7 +161,7 @@
# https://github.com/flamegraph-rs/flamegraph
home.file.".cargo/config.toml".text = ''
[target.${lib.strings.removeSuffix "-linux" pkgs.system}-unknown-linux-gnu]
linker = "${pkgs.clang}/bin/clang"
linker = "${lib.getExe pkgs.clang}"
rustflags = ["-Clink-arg=-Wl,--no-rosegment"]
'';

View File

@@ -0,0 +1,30 @@
{ pkgs, config, ... }:
{
services.dunst = {
enable = true;
package = pkgs.dunst;
settings = {
global = {
width = 300;
height = 300;
offset = "30x50";
origin = "top-right";
# 0 is the most opaque, 100 is completely transparent
transparency = 40;
# have consistancy between niri frame color and dunst
frame_color = config.programs.niri.settings.layout.focus-ring.active.color;
font = "JetBrains Mono Nerd Font 9";
};
urgency_normal = {
# background = "#37474f";
# foreground = "#eceff1";
timeout = 10;
};
};
};
}

View File

@@ -1,7 +1,7 @@
{ pkgs, ... }:
{ pkgs, lib, ... }:
let
eza = "${pkgs.eza}/bin/eza --color=always --group-directories-first";
cargo = "${pkgs.cargo}/bin/cargo";
eza = "${lib.getExe pkgs.eza} --color=always --group-directories-first";
cargo = "${lib.getExe pkgs.cargo}";
coreutils = "${pkgs.coreutils}/bin";
in
{
@@ -16,7 +16,7 @@ in
export GPG_TTY=(${coreutils}/tty)
#pfetch on shell start (disable pkgs because of execution time)
PF_INFO="ascii title os host kernel uptime memory editor wm" ${pkgs.pfetch-rs}/bin/pfetch
PF_INFO="ascii title os host kernel uptime memory editor wm" ${lib.getExe pkgs.pfetch-rs}
'';
shellAliases = {
@@ -32,9 +32,9 @@ in
# gets the largest files in a git repo's history
"git-size" = ''
${pkgs.git}/bin/git rev-list --objects --all |
${pkgs.git}/bin/git cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' |
${pkgs.gnused}/bin/sed -n 's/^blob //p' |
${lib.getExe pkgs.git} rev-list --objects --all |
${lib.getExe pkgs.git} cat-file --batch-check='%(objecttype) %(objectname) %(objectsize) %(rest)' |
${lib.getExe pkgs.gnused} -n 's/^blob //p' |
${coreutils}/sort --numeric-sort --key=2 |
${coreutils}/cut -c 1-12,41- |
${coreutils}/numfmt --field=2 --to=iec-i --suffix=B --padding=7 --round=nearest'';
@@ -43,7 +43,7 @@ in
pbcopy = "${pkgs.wl-clipboard}/bin/wl-copy";
pbpaste = "${pkgs.wl-clipboard}/bin/wl-paste";
gcc-native = "${pkgs.gcc}/bin/gcc -Q --help=target -mtune=native -march=native | ${pkgs.gnugrep}/bin/grep -E '^\\s+\-(mtune|march)=' | ${coreutils}/tr -d '[:blank:]'";
gcc-native = "${lib.getExe pkgs.gcc} -Q --help=target -mtune=native -march=native | ${lib.getExe pkgs.gnugrep} -E '^\\s+\-(mtune|march)=' | ${coreutils}/tr -d '[:blank:]'";
run-steam = "gamescope --backend sdl -W 2256 -H 1504 -f --steam -- steam -tenfoot -pipewire-dmabuf";
};

View File

@@ -16,6 +16,17 @@ let
sha256 = "031b190e7aa81770b5d069de181dcfe4b284bf5d75fa12f82f5e54a3178adcfd";
};
}
rec {
name = "DeepScaleR-1.5B-Preview-Q8_0.gguf";
filename = src.name;
context_length = 131072;
gen_length = 32768;
src = pkgs.fetchurl {
url = "https://huggingface.co/bartowski/agentica-org_DeepScaleR-1.5B-Preview-GGUF/resolve/main/agentica-org_DeepScaleR-1.5B-Preview-Q8_0.gguf";
sha256 = "932ecb3ae043335c78dab621f032d32eb1868c80a27b4fe5f39c7850902de940";
};
}
];
gpt4all_package = (
@@ -34,7 +45,7 @@ let
]
);
system_prompt = "You are a helpful and harmless assistant. You should think step-by-step.";
system_prompt = "You are a helpful and harmless assistant. You should think step-by-step. Explore multiple trains of thought and methods (to completion) in order to derive the correct answer.";
chat_name_prompt = "Make a 3 word headline for this conversation";
in
{

View File

@@ -1,6 +1,7 @@
{
config,
pkgs,
lib,
...
}:
{
@@ -47,7 +48,7 @@
spawn-at-startup = [
{
command = [
"${config.programs.eww.package}/bin/eww"
"${lib.getExe config.programs.eww.package}"
"-c"
"${config.programs.eww.configDir}"
"open"
@@ -58,7 +59,7 @@
# swaybg works on more than just sway (sets a wallpaper)
{
command = [
"${pkgs.swaybg}/bin/swaybg"
"${lib.getExe pkgs.swaybg}"
"-i"
"${../wallpaper.png}"
];
@@ -67,7 +68,7 @@
# Xwayland on niri via xwayland-satellite
{
command = [
"${pkgs.xwayland-satellite}/bin/xwayland-satellite"
"${lib.getExe pkgs.xwayland-satellite}"
config.programs.niri.settings.environment.DISPLAY
];
}

View File

@@ -16,6 +16,9 @@
# lockscreen
./progs/swaylock.nix
# notification daemon
./progs/dunst.nix
];
home.packages = with pkgs; [
@@ -39,12 +42,6 @@
Service.ExecStart = "${pkgs.bluez}/bin/mpris-proxy";
};
# notification daemon
services.dunst = {
enable = true;
package = pkgs.dunst;
};
age.secrets.borg-laptop-password = {
file = ./secrets/borg-laptop-password.age;
path = "${homeDirectory}/.secrets/borg_bak_pass";