Compare commits

...

7 commits

Author SHA1 Message Date
eb1368cdb0
Chore: update flake.lock 2024-12-16 20:11:26 +02:00
6fd4826ae0
README: stuffies idek 2024-12-16 20:10:52 +02:00
166af15cc3
Global/pipewire: fix crackling 2024-12-16 18:17:38 +02:00
f34815dfb1
Global: add jellyfin 2024-12-16 18:17:09 +02:00
a22ad00b7e
Global: yeet mullvad in favor of tailscale 2024-12-16 18:16:45 +02:00
bdd46dedcf
Nyx: zfs kernel args 2024-12-16 18:15:07 +02:00
67396f09a8
Nyx: more zfs stuff 2024-12-15 19:26:54 +02:00
9 changed files with 122 additions and 93 deletions

View file

@ -10,15 +10,31 @@ Screenshots coming soontm
| Helios | Laptop | | Helios | Laptop |
| Epimethus | Custom ISO | | Epimethus | Custom ISO |
### Flake layout #### Specs
Nyx:
- AMD r5 7600x (6c12t)
- AMD radeon rx 6700xt
- msi MRG B650
- 32GB DDR5 6000MTS ram
to be done Theia:
- 6VCPU (AMD EPYC 9454P)
- 20GB ram
Helios:
- TBD
Epimethus:
- N/A
### Notes ### Notes
I recommend against using this config for even I don't know wtf I'm doing I'm planning on doing an almost full rewrite of this config
Also while it is usable and I am daily driving it it's still missing a lot of stuff
With that said feel free to use anything from this flake, it's GPL for a reason :3 ### Flake layout
Will be done after the rewrite (probably)
## Credits ## Credits

View file

@ -42,11 +42,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1731959031, "lastModified": 1734364797,
"narHash": "sha256-TGcvIjftziC1CjuiHCzrYDwmOoSFYIhdiKmLetzB5L0=", "narHash": "sha256-2h1c+P0v3l0Z/ypUSsAPhU/yiSRgFwjVFODWp0S3d/w=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "4468981c1c50999f315baa1508f0e53c4ee70c52", "rev": "8e77618b403a82fde2105a8e3cd7cabe7ef00952",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -78,11 +78,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1734087975, "lastModified": 1734346739,
"narHash": "sha256-dQYXdA5zGKZ1G5HfPj9Gjf0JRGwXexl/dC9oZW5xOec=", "narHash": "sha256-Um5yY36idRodddotyBaI9sQjw/xw5SV6tt3jPRgL330=",
"owner": "chaotic-cx", "owner": "chaotic-cx",
"repo": "nyx", "repo": "nyx",
"rev": "1174e016e517f60a8cfe00f0a5785e4c8bd17b53", "rev": "7228d7032f0316dbc69b69584ec07707efbd38c9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -121,11 +121,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1734088167, "lastModified": 1734343412,
"narHash": "sha256-OIitVU+IstPbX/NWn2jLF+/sT9dVKcO2FKeRAzlyX6c=", "narHash": "sha256-b7G8oFp0Nj01BYUJ6ENC9Qf/HsYAIZvN9k/p0Kg/PFU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "d32f2d1750d61a476a236526b725ec5a32e16342", "rev": "a08bfe06b39e94eec98dd089a2c1b18af01fef19",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -300,11 +300,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733873195, "lastModified": 1734093295,
"narHash": "sha256-dTosiZ3sZ/NKoLKQ++v8nZdEHya0eTNEsaizNp+MUPM=", "narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "f26aa4b76fb7606127032d33ac73d7d507d82758", "rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -320,11 +320,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1734093295, "lastModified": 1734344598,
"narHash": "sha256-hSwgGpcZtdDsk1dnzA0xj5cNaHgN9A99hRF/mxMtwS4=", "narHash": "sha256-wNX3hsScqDdqKWOO87wETUEi7a/QlPVgpC/Lh5rFOuA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "66c5d8b62818ec4c1edb3e941f55ef78df8141a8", "rev": "83ecd50915a09dca928971139d3a102377a8d242",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -349,11 +349,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1728669738, "lastModified": 1734364709,
"narHash": "sha256-EDNAU9AYcx8OupUzbTbWE1d3HYdeG0wO6Msg3iL1muk=", "narHash": "sha256-+2bZJL2u5hva7rSp65OfKJBK+k03T6GB/NCvpoS1OOo=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "0264e698149fcb857a66a53018157b41f8d97bb0", "rev": "f388aacd22be4a6e4d634fbaf6f75eb0713d239a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -378,11 +378,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733248371, "lastModified": 1733684019,
"narHash": "sha256-FFLJzFTyNhS7tBEEECx0B8Ye/bpmxhFVEKlECgMLc6c=", "narHash": "sha256-2kYREgmSmbLsmDpLEq96hxVAU3qz8aCvVhF65yCFZHY=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "cc95e5babc6065bc3ab4cd195429a9900836ef13", "rev": "fb2c0268645a77403af3b8a4ce8fa7ba5917f15d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -407,11 +407,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1734219437, "lastModified": 1734365160,
"narHash": "sha256-NVQIAvfSpBSJaJ4BP1cE1yVGjCuvXs0NN1G1t+f52Ss=", "narHash": "sha256-Oqfmif2PA5r+My5mq4n0i9DjJNHhf9L908afbJV5Xlg=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "db249648776875ce3142141d0d3055e43ce606aa", "rev": "eaac5c7cbdd40a2211c75a770df56bd2153b77cb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -461,11 +461,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733472316, "lastModified": 1733940128,
"narHash": "sha256-PvXiFLIExJEJj+goLbIuXLTN5CSDSAUsAfiYSdbbWg0=", "narHash": "sha256-hmfXWj2GA9cj1QUkPFYtAAeohhs615zL4E3APy3FnvQ=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-qtutils", "repo": "hyprland-qtutils",
"rev": "969427419276c7ee170301ef1ebe0f68eb6eb2e2", "rev": "3833097e50473a152dd614d4b468886840b4ea78",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -490,11 +490,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1728168612, "lastModified": 1734364628,
"narHash": "sha256-AnB1KfiXINmuiW7BALYrKqcjCnsLZPifhb/7BsfPbns=", "narHash": "sha256-ii8fzJfI953n/EmIxVvq64ZAwhvwuuPHWfGd61/mJG8=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "f054f2e44d6a0b74607a6bc0f52dba337a3db38e", "rev": "16e59c1eb13d9fb6de066f54e7555eb5e8a4aba5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -515,11 +515,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1732288281, "lastModified": 1733502241,
"narHash": "sha256-XTU9B53IjGeJiJ7LstOhuxcRjCOFkQFl01H78sT9Lg4=", "narHash": "sha256-KAUNC4Dgq8WQjYov5auBw/usaHixhacvb7cRDd0AG/k=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "b26f33cc1c8a7fd5076e19e2cce3f062dca6351c", "rev": "104117aed6dd68561be38b50f218190aa47f2cd8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -562,11 +562,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733859890, "lastModified": 1734162608,
"narHash": "sha256-HnA6z2l2W38TJBarvWCcxjTjcpz7JrDj2u2umjYFcEo=", "narHash": "sha256-m2AX+3eiVqIK6uO7GbGY7SFnkkYOlR5fQiNI0eRvWOQ=",
"owner": "Jovian-Experiments", "owner": "Jovian-Experiments",
"repo": "Jovian-NixOS", "repo": "Jovian-NixOS",
"rev": "77ffd839fd9d60d139dc4a2ad6b6d526f4ad5a17", "rev": "31bdf4c7c91204d65afbde01146deee0259a8fb7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -617,11 +617,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1733940404, "lastModified": 1734119587,
"narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=", "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713", "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -633,11 +633,11 @@
}, },
"nixpkgs-smol": { "nixpkgs-smol": {
"locked": { "locked": {
"lastModified": 1734187240, "lastModified": 1734318609,
"narHash": "sha256-I8cMXXWtf/+3DJT3QGm9BAp/b1oOCdKfgvpZ5XAUnp4=", "narHash": "sha256-VPbVfHSvFs58T+kbseS7wa9WP6p2z7RJmjTnV4pAPQ0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "119bb2941c87b630c56b5e36b9ed63e3daa0e2d3", "rev": "66cdf593c0041cf1efc9b2889d80c9a5c497b284",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -665,11 +665,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1733392399, "lastModified": 1734119587,
"narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=", "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661", "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -681,11 +681,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1733940404, "lastModified": 1734119587,
"narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=", "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713", "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -697,11 +697,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1733940404, "lastModified": 1734119587,
"narHash": "sha256-Pj39hSoUA86ZePPF/UXiYHHM7hMIkios8TYG29kQT4g=", "narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "5d67ea6b4b63378b9c13be21e2ec9d1afc921713", "rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -750,11 +750,11 @@
"treefmt-nix": "treefmt-nix" "treefmt-nix": "treefmt-nix"
}, },
"locked": { "locked": {
"lastModified": 1734221225, "lastModified": 1734366989,
"narHash": "sha256-PQtNGbg3B93+MINMe4/mwYWZkVDNzaf+O2Hw7xDznNk=", "narHash": "sha256-Vkt9F2lBT464qRc0QALpktgSkuvDGfEPpMR9gsVg2rA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "12bcdb7c86a2598761a7e2ada1b1e6cd7542197c", "rev": "3e5068d3b206b5618394785690ecc0efff7942d5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -774,11 +774,11 @@
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1733318908, "lastModified": 1734279981,
"narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", "narHash": "sha256-NdaCraHPp8iYMWzdXAt5Nv6sA3MUzlCiGiR586TCwo0=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "6f4e2a2112050951a314d2733a994fbab94864c6", "rev": "aa9f40c906904ebd83da78e7f328cd8aeaeae785",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -854,11 +854,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1734149768, "lastModified": 1734322624,
"narHash": "sha256-pdfUlO6eARnfEnmHy2rUa5DvqyaniLDNEZRGt1pj1VI=", "narHash": "sha256-9G6h+hHM8RyUvan2qojZwHlRoJ3gkLwZQLsW7bXyNrE=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "af0b468ef40138b62eaeec905106e7b741b4eab6", "rev": "f8289a4668187d3866caa7940dfd8ff680e41d0d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1020,11 +1020,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1733157064, "lastModified": 1734124279,
"narHash": "sha256-NetqJHAN4bbZDQADvpep+wXk2AbMZ2bN6tINz8Kpz6M=", "narHash": "sha256-YNpFfiQjYt2o6LGcMN9NkjVvprC8ELrIpLHlbZbclRM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "fd85ef39369f95eed67fdf3f025e86916edeea2f", "rev": "0c6861f819f6d31f6195c9864709b2556f00b5cf",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -18,16 +18,21 @@
}; };
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;
}; };
supportedFilesystems = [ "zfs" ]; supportedFilesystems = [ "zfs" "ext4" "btrfs" ];
zfs = { zfs = {
forceImportRoot = false; forceImportRoot = false;
extraPools = [ "zpool" ]; extraPools = [ "zpool" "zootfs" ];
devNodes = "/dev/disk/by-id"; devNodes = "/dev/disk/by-id";
package = pkgs-smol.zfs; package = pkgs.zfs;
allowHibernation = true; # might cause corruption? allowHibernation = true; # might cause corruption?
}; };
kernelPackages = pkgs-smol.linuxPackages_6_12; kernelPackages = pkgs.linuxPackages_6_12;
kernel = { sysctl = { "vm.max_map_count" = 2147483642; }; }; kernel = { sysctl = { "vm.max_map_count" = 2147483642; }; };
kernelParams = [
"elevator=none" # for zfs
"zfs.zfs_arc_max=8589934592"
"nvme.noacpi=1"
];
}; };
zramSwap = { zramSwap = {

View file

@ -1,6 +1,3 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }: { config, lib, pkgs, modulesPath, ... }:
{ {
@ -35,6 +32,25 @@
options = [ "zfsutil" ]; options = [ "zfsutil" ];
}; };
fileSystems."/mnt/zootfs/Storage" = {
device = "zootfs/Storage";
fsType = "zfs";
options = [ "zfsutil" ];
};
fileSystems."/mnt/zootfs/Media" = {
device = "zootfs/Media";
fsType = "zfs";
options = [ "zfsutil" ];
};
# https://github.com/atuinsh/atuin/issues/952#issuecomment-1902164562
fileSystems."/home/pingu/.local/share/atuin" = {
device = "/dev/zvol/zpool/nixos/atuin";
fsType = "ext4";
options = [ "async" "auto" "nofail" ];
};
fileSystems."/boot" = { fileSystems."/boot" = {
device = "/dev/disk/by-label/BOOT"; device = "/dev/disk/by-label/BOOT";
fsType = "vfat"; fsType = "vfat";
@ -55,13 +71,7 @@
swapDevices = [{ device = "/dev/disk/by-uuid/04281bd7-784a-4287-b4f2-ce406d2ab6ac"; }]; swapDevices = [{ device = "/dev/disk/by-uuid/04281bd7-784a-4287-b4f2-ce406d2ab6ac"; }];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp13s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp14s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = true; hardware.cpu.amd.updateMicrocode = true;

View file

@ -1,9 +1,8 @@
{ ... }: { ... }:
{ {
imports = [ imports = [
./vpn.nix
./pipewire.nix ./pipewire.nix
# ./bluetooth.nix
./tailscale.nix ./tailscale.nix
./jellyfin.nix
]; ];
} }

View file

@ -0,0 +1,7 @@
{ pkgs, ... }: {
services.jellyfin = {
enable = true;
openFirewall = true;
dataDir = "/mnt/zootfs/Media/jellyfin";
};
}

View file

@ -13,7 +13,7 @@
"default.clock.rate" = 48000; "default.clock.rate" = 48000;
"default.clock.quantum" = 32; "default.clock.quantum" = 32;
"default.clock.min-quantum" = 32; "default.clock.min-quantum" = 32;
"default.clock.max-quantum" = 32; "default.clock.max-quantum" = 64;
}; };
}; };
pipewire-pulse."92-low-latency" = { pipewire-pulse."92-low-latency" = {

View file

@ -1,6 +1,7 @@
{ pkgs, ... }: { { pkgs, ... }: {
services.tailscale = { services.tailscale = {
enable = true; enable = true;
useRoutingFeatures = "client";
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
trayscale trayscale

View file

@ -1,9 +0,0 @@
{ pkgs, ... }: {
services = {
mullvad-vpn = {
enable = true;
package = pkgs.mullvad-vpn;
};
};
}