Merge remote-tracking branch 'origin/main'
Some checks failed
/ check (push) Failing after 4s

This commit is contained in:
Daniel Flanagan 2025-01-05 01:08:55 -06:00
commit 5c3f1cf54a
18 changed files with 346 additions and 436 deletions

View file

@ -8,7 +8,7 @@ keys:
# ssh host "nix shell nixpkgs#ssh-to-age -c $SHELL -c 'cat /etc/ssh/ssh_host_ed25519_key.pub | ssh-to-age'"
- &sshd-at-beefcake age1etv56f7kf78a55lxqtydrdd32dpmsjnxndf4u28qezxn6p7xt9esqvqdq7
- &sshd-at-router age1zd7c3g5d20shdftq8ghqm0r92488dg4pdp4gulur7ex3zx2yq35ssxawpn
- &sshd-at-dragon age1ez4why08hdx0qf940cjzs6ep4q5rk2gqq7lp99pe58fktpwv65esx4xrht
- &sshd-at-dragon age12x49p3mwf27r9gdkfmfqu7lr6gwcwznlhcvcgmv8dz3gac2mkdgsp36y9p
- &ssh-foxtrot age1njnet9ltjuxasqv3ckn67r5natke6xgd8wlx8psf64pyc4duvurqhedw80
# after updating this file, you may need to update the keys for any associated files like so:

View file

@ -1,8 +1,35 @@
{lib, ...}: let
inherit (lib.attrsets) mapAttrs' filterAttrs;
in {
ESP = inputs @ {
size ? "4G",
label ? "ESP",
name ? "ESP",
}:
{
priority = 1;
start = "1M";
label = label;
name = name;
end = size;
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [
"umask=0077"
];
};
}
// inputs;
in rec {
standardWithHibernateSwap = {
disks ? ["/dev/sda"],
esp ? {
label = "ESP";
size = "4G";
name = "ESP";
},
disk,
swapSize,
...
}: {
@ -17,24 +44,11 @@ in {
disk = {
primary = {
type = "disk";
device = builtins.elemAt disks 0;
device = disk;
content = {
type = "gpt";
partitions = {
ESP = {
label = "EFI";
name = "ESP";
size = "4G";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [
"defaults"
];
};
};
ESP = ESP esp;
swap = {
size = swapSize;
content = {
@ -48,7 +62,6 @@ in {
content = {
type = "luks";
name = "crypted";
extraOpenArgs = ["--allow-discards"];
# if you want to use the key for interactive login be sure there is no trailing newline
# for example use `echo -n "password" > /tmp/secret.key`
keyFile = "/tmp/secret.key"; # Interactive
@ -58,75 +71,13 @@ in {
type = "btrfs";
extraArgs = ["-f"];
subvolumes = {
"/nixos" = {
"/rootfs" = {
mountpoint = "/";
mountOptions = ["compress=zstd" "noatime"];
mountOptions = ["compress=zstd"];
};
"/home" = {
mountpoint = "/home";
mountOptions = ["compress=zstd" "noatime"];
};
"/nix" = {
mountpoint = "/nix";
mountOptions = ["compress=zstd" "noatime"];
};
};
};
};
};
};
};
};
};
};
};
standard = {disks ? ["/dev/vda"], ...}: {
# this is my standard partitioning scheme for my machines: an LUKS-encrypted
# btrfs volume
disko.devices = {
disk = {
primary = {
type = "disk";
device = builtins.elemAt disks 0;
content = {
type = "gpt";
partitions = {
ESP = {
label = "EFI";
name = "ESP";
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [
"defaults"
];
};
};
luks = {
size = "100%";
content = {
type = "luks";
name = "crypted";
extraOpenArgs = ["--allow-discards"];
# if you want to use the key for interactive login be sure there is no trailing newline
# for example use `echo -n "password" > /tmp/secret.key`
keyFile = "/tmp/secret.key"; # Interactive
# settings.keyFile = "/tmp/password.key";
# additionalKeyFiles = ["/tmp/additionalSecret.key"];
content = {
type = "btrfs";
extraArgs = ["-f"];
subvolumes = {
"/root" = {
mountpoint = "/";
mountOptions = ["compress=zstd" "noatime"];
};
"/home" = {
mountpoint = "/home";
mountOptions = ["compress=zstd" "noatime"];
mountOptions = ["compress=zstd"];
};
"/nix" = {
mountpoint = "/nix";
@ -143,38 +94,84 @@ in {
};
};
unencrypted = {disks ? ["/dev/vda"], ...}: {
foxtrot = standardWithHibernateSwap {
disk = "nvme0n1";
swapSize = "32G";
esp = {
label = "disk-primary-ESP";
name = "disk-primary-ESP";
};
};
standard = {disk, ...}: {
# this is my standard partitioning scheme for my machines: an LUKS-encrypted
# btrfs volume
disko.devices = {
disk = {
primary = {
type = "disk";
device = builtins.elemAt disks 0;
device = disk;
content = {
type = "gpt";
partitions = {
ESP = {
label = "EFI";
name = "ESP";
size = "512M";
type = "EF00";
ESP = ESP {size = "4G";};
luks = {
size = "100%";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [
"defaults"
];
type = "luks";
name = "crypted";
# if you want to use the key for interactive login be sure there is no trailing newline
# for example use `echo -n "password" > /tmp/secret.key`
keyFile = "/tmp/secret.key"; # Interactive
# settings.keyFile = "/tmp/password.key";
# additionalKeyFiles = ["/tmp/additionalSecret.key"];
content = {
type = "btrfs";
extraArgs = ["-f"];
subvolumes = {
"/root" = {
mountpoint = "/";
mountOptions = ["compress=zstd"];
};
"/home" = {
mountpoint = "/home";
mountOptions = ["compress=zstd"];
};
"/nix" = {
mountpoint = "/nix";
mountOptions = ["compress=zstd" "noatime"];
};
};
};
};
};
};
};
};
};
};
};
unencrypted = {disk, ...}: {
disko.devices = {
disk = {
primary = {
type = "disk";
device = disk;
content = {
type = "gpt";
partitions = {
ESP = ESP {size = "5G";};
root = {
size = "100%";
content = {
type = "btrfs";
extraArgs = ["-f"];
mountpoint = "/partition-root";
subvolumes = {
"/root" = {
"/rootfs" = {
mountpoint = "/";
mountOptions = [];
mountOptions = ["compress=zstd"];
};
"/home" = {
mountpoint = "/home";
@ -390,7 +387,7 @@ in {
};
};
};
legacy = {disks ? ["/dev/vda"], ...}: {
legacy = {disks, ...}: {
disko.devices = {
disk = {
primary = {

View file

@ -117,10 +117,44 @@
"type": "github"
}
},
"flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1726560853,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
@ -135,7 +169,7 @@
"type": "github"
}
},
"flake-utils_2": {
"flake-utils_3": {
"inputs": {
"systems": "systems_4"
},
@ -170,9 +204,34 @@
"type": "github"
}
},
"git-hooks": {
"ghostty": {
"inputs": {
"flake-compat": "flake-compat",
"nixpkgs-stable": [
"nixpkgs"
],
"nixpkgs-unstable": [
"nixpkgs-unstable"
],
"zig": "zig"
},
"locked": {
"lastModified": 1735330177,
"narHash": "sha256-JGoqNnhSr632eLo1NWKJWoZyepCZlXT0o1/2A6e1Ph4=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "8111f5b9958c21e0157f63cc4ce2dfc2329c67ac",
"type": "github"
},
"original": {
"owner": "ghostty-org",
"repo": "ghostty",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": "flake-compat_2",
"gitignore": "gitignore",
"nixpkgs": [
"nixpkgs"
@ -195,7 +254,7 @@
},
"git-hooks_2": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-compat": "flake-compat_4",
"gitignore": "gitignore_3",
"nixpkgs": [
"slippi",
@ -317,10 +376,18 @@
"helix": {
"inputs": {
"crane": "crane",
<<<<<<< HEAD
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs-unstable"
],
||||||| b4bc4ce
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs",
=======
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs",
>>>>>>> origin/main
"rust-overlay": "rust-overlay"
},
"locked": {
@ -471,7 +538,7 @@
"nixpkgs-unstable"
],
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_2",
"systems": "systems_3",
"xdph": "xdph"
},
"locked": {
@ -801,7 +868,7 @@
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat_2",
"flake-compat": "flake-compat_3",
"gitignore": "gitignore_2",
"nixpkgs": [
"hyprland",
@ -826,6 +893,7 @@
"root": {
"inputs": {
"disko": "disko",
"ghostty": "ghostty",
"git-hooks": "git-hooks",
"hardware": "hardware",
"helix": "helix",
@ -945,6 +1013,21 @@
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@ -959,7 +1042,7 @@
"type": "github"
}
},
"systems_3": {
"systems_4": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
@ -991,7 +1074,7 @@
},
"wezterm": {
"inputs": {
"flake-utils": "flake-utils_2",
"flake-utils": "flake-utils_3",
"freetype2": "freetype2",
"harfbuzz": "harfbuzz",
"libpng": "libpng",
@ -1058,6 +1141,31 @@
"type": "github"
}
},
"zig": {
"inputs": {
"flake-compat": [
"ghostty"
],
"flake-utils": "flake-utils",
"nixpkgs": [
"ghostty",
"nixpkgs-stable"
]
},
"locked": {
"lastModified": 1717848532,
"narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43",
"type": "github"
},
"original": {
"owner": "mitchellh",
"repo": "zig-overlay",
"type": "github"
}
},
"zlib": {
"flake": false,
"locked": {

View file

@ -43,6 +43,10 @@
jovian.url = "github:Jovian-Experiments/Jovian-NixOS/development";
jovian.inputs.nixpkgs.follows = "nixpkgs-unstable";
ghostty.url = "github:ghostty-org/ghostty";
ghostty.inputs.nixpkgs-unstable.follows = "nixpkgs-unstable";
ghostty.inputs.nixpkgs-stable.follows = "nixpkgs";
# nnf.url = "github:thelegy/nixos-nftables-firewall?rev=71fc2b79358d0dbacde83c806a0f008ece567b7b";
mobile-nixos = {
@ -60,6 +64,7 @@
"https://nix-community.cachix.org"
"https://nix.h.lyte.dev"
"https://hyprland.cachix.org"
"https://ghostty.cachix.org"
];
extra-trusted-public-keys = [
@ -68,6 +73,7 @@
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"h.lyte.dev-2:te9xK/GcWPA/5aXav8+e5RHImKYMug8hIIbhHsKPN0M="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"ghostty.cachix.org-1:QB389yTa6gTyneehvqG58y0WnHjQOqgnA+wBnpWWxns="
];
};
@ -88,6 +94,7 @@
# nnf,
# hyprland,
slippi,
ghostty,
...
}: let
inherit (self) outputs;
@ -334,7 +341,7 @@
modules = with nixosModules; [
home-manager-unstable-defaults
outputs.diskoConfigurations.standard
outputs.diskoConfigurations.unencrypted
hardware.nixosModules.common-cpu-amd
hardware.nixosModules.common-pc-ssd
@ -463,7 +470,7 @@
modules = with nixosModules; [
home-manager-unstable-defaults
outputs.diskoConfigurations.standard
outputs.diskoConfigurations.foxtrot
hardware.nixosModules.framework-13-7040-amd
common
@ -490,6 +497,7 @@
];
};
environment.systemPackages = with pkgs; [
ghostty.outputs.packages.${pkgs.system}.ghostty
fw-ectool
(writeShellApplication
{
@ -597,7 +605,7 @@
swapSize = "32G";
};
}
outputs.diskoConfigurations.standardWithHibernateSwap
outputs.diskoConfigurations.standard
hardware.nixosModules.lenovo-thinkpad-t480
hardware.nixosModules.common-pc-laptop-ssd
@ -605,7 +613,7 @@
common
password-manager
graphical-workstation
plasma6
# plasma6
laptop
gaming

View file

@ -13,7 +13,7 @@
(geometry
:x "0%"
:y "5px"
:width "100%"
:width "80%"
:height "32px"
:anchor "bottom center")
(bar))
@ -25,10 +25,10 @@
:geometry
(geometry
:x "0%"
:y "20%"
:width "90%"
:height "60px"
:anchor "top center")
:y "5px"
:width "80%"
:height "32px"
:anchor "bottom center")
(bar))
(defwidget rightsidestuff []

View file

@ -11,6 +11,7 @@ in {
# TODO: Hyprland seems to sometimes use a ton of CPU?
home.packages = with pkgs; [
glib
swayosd
];
@ -47,8 +48,15 @@ in {
"hypridle"
];
exec = [
''gsettings set org.gnome.desktop.interface gtk-theme "Adwaita-dark"''
''gsettings set org.gnome.desktop.interface color-scheme "prefer-dark"''
];
env = [
"XCURSOR_SIZE,24"
"QT_QPA_PLATFORMTHEME,qt6ct"
"GTK_THEME,Adwaita-dark"
];
input = {
@ -96,7 +104,7 @@ in {
gaps_out = 6;
border_size = 2;
resize_on_border = true;
no_focus_fallback = true;
no_focus_fallback = false;
layout = "dwindle";
};
@ -129,7 +137,7 @@ in {
"$mod SHIFT, return, exec, wezterm"
*/
"$mod, return, exec, wezterm"
"$mod SHIFT, return, exec, kitty"
"$mod SHIFT, return, exec, [float] wezterm start --always-new-process"
"$mod, U, exec, firefox"
"$mod, space, exec, tofi-run | xargs hyprctl dispatch exec --"
"$mod, C, killactive,"
@ -150,10 +158,10 @@ in {
"$mod, l, movefocus, r"
"$mod, k, movefocus, u"
"$mod, j, movefocus, d"
"$mod SHIFT, H, movewindow, l"
"$mod SHIFT, L, movewindow, r"
"$mod SHIFT, K, movewindow, u"
"$mod SHIFT, J, movewindow, d"
"$mod SHIFT, H, movewindow, l silent"
"$mod SHIFT, L, movewindow, r silent"
"$mod SHIFT, K, movewindow, u silent"
"$mod SHIFT, J, movewindow, d silent"
"$mod SHIFT, V, exec, swayosd-client --input-volume mute-toggle"
", XF86AudioMicMute, exec, swayosd-client --input-volume mute-toggle"
@ -184,16 +192,16 @@ in {
"$mod, 0, workspace, 10"
# Move active window to a workspace with mod + SHIFT + [0-9]
"$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, 3, movetoworkspace, 3"
"$mod SHIFT, 4, movetoworkspace, 4"
"$mod SHIFT, 5, movetoworkspace, 5"
"$mod SHIFT, 6, movetoworkspace, 6"
"$mod SHIFT, 7, movetoworkspace, 7"
"$mod SHIFT, 8, movetoworkspace, 8"
"$mod SHIFT, 9, movetoworkspace, 9"
"$mod SHIFT, 0, movetoworkspace, 10"
"$mod SHIFT, 1, movetoworkspacesilent, 1"
"$mod SHIFT, 2, movetoworkspacesilent, 2"
"$mod SHIFT, 3, movetoworkspacesilent, 3"
"$mod SHIFT, 4, movetoworkspacesilent, 4"
"$mod SHIFT, 5, movetoworkspacesilent, 5"
"$mod SHIFT, 6, movetoworkspacesilent, 6"
"$mod SHIFT, 7, movetoworkspacesilent, 7"
"$mod SHIFT, 8, movetoworkspacesilent, 8"
"$mod SHIFT, 9, movetoworkspacesilent, 9"
"$mod SHIFT, 0, movetoworkspacesilent, 10"
"$mod SHIFT, S, exec, clipshot"
# Scroll through existing workspaces with mod + scroll

View file

@ -86,9 +86,11 @@
xdg.portal = {
enable = true;
wlr.enable = true;
# gtk.enable = true;
extraPortals = with pkgs; [
xdg-desktop-portal-wlr
xdg-desktop-portal-gtk
];
};

View file

@ -866,7 +866,7 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
pkgs.writeText "header.tmpl"
''
<link rel="stylesheet" href="/assets/css/iosevkalyte.css" />
<script async="" defer="" data-domain="lyte.dev" src="https://a.lyte.dev/js/script.js"></script>
<script async="" defer="" data-domain="git.lyte.dev" src="https://a.lyte.dev/js/script.js"></script>
'';
forgejoCustomHomeTmpl =
pkgs.writeText "home.tmpl"
@ -1263,6 +1263,10 @@ sudo nix run nixpkgs#ipmitool -- raw 0x30 0x30 0x02 0xff 0x00
};
virtualisation.oci-containers.containers.minecraft-flanilla = {
autoStart = false;
environmentFiles = [
# config.sops.secrets."jland.env".path
];
image = "docker.io/itzg/minecraft-server";
# user = "${toString uid}:${toString gid}";
extraOptions = ["--tty" "--interactive"];

View file

@ -1,248 +1,8 @@
{pkgs, ...}:
/*
## source: https://community.frame.work/t/speakers-sound-quality/1078/82
let
pipewire-speakers-profile-json = ''{
"output": {
"blocklist": [],
"equalizer": {
"balance": 0.0,
"bypass": false,
"input-gain": 0.0,
"left": {
"band0": {
"frequency": 100.0,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 1.0,
"slope": "x4",
"solo": false,
"type": "Hi-pass"
},
"band1": {
"frequency": 150.0,
"gain": 4.02,
"mode": "RLC (BT)",
"mute": false,
"q": 3.0,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band2": {
"frequency": 600.0,
"gain": -5.07,
"mode": "RLC (BT)",
"mute": false,
"q": 4.000000000000008,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band3": {
"frequency": 1200.0,
"gain": -3.49,
"mode": "RLC (BT)",
"mute": false,
"q": 4.17,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band4": {
"frequency": 2000.0,
"gain": 1.43,
"mode": "RLC (BT)",
"mute": false,
"q": 4.0,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band5": {
"frequency": 5300.0,
"gain": 3.84,
"mode": "RLC (BT)",
"mute": false,
"q": 2.64,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band6": {
"frequency": 6000.0,
"gain": 4.02,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Hi-shelf"
},
"band7": {
"frequency": 7500.0,
"gain": -2.09,
"mode": "RLC (BT)",
"mute": false,
"q": 3.0,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band8": {
"frequency": 8000.0,
"gain": 2.01,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band9": {
"frequency": 900.0,
"gain": -4.12,
"mode": "RLC (BT)",
"mute": false,
"q": 5.909999999999967,
"slope": "x1",
"solo": false,
"type": "Bell"
}
},
"mode": "IIR",
"num-bands": 10,
"output-gain": -1.5,
"pitch-left": 0.0,
"pitch-right": 0.0,
"right": {
"band0": {
"frequency": 100.0,
"gain": 0.0,
"mode": "RLC (BT)",
"mute": false,
"q": 1.0,
"slope": "x4",
"solo": false,
"type": "Hi-pass"
},
"band1": {
"frequency": 150.0,
"gain": 4.02,
"mode": "RLC (BT)",
"mute": false,
"q": 3.0,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band2": {
"frequency": 600.0,
"gain": -5.07,
"mode": "RLC (BT)",
"mute": false,
"q": 4.000000000000008,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band3": {
"frequency": 1200.0,
"gain": -3.49,
"mode": "RLC (BT)",
"mute": false,
"q": 4.17,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band4": {
"frequency": 2000.0,
"gain": 1.43,
"mode": "RLC (BT)",
"mute": false,
"q": 4.0,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band5": {
"frequency": 5300.0,
"gain": 3.84,
"mode": "RLC (BT)",
"mute": false,
"q": 2.64,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band6": {
"frequency": 6000.0,
"gain": 4.02,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Hi-shelf"
},
"band7": {
"frequency": 7500.0,
"gain": -2.09,
"mode": "RLC (BT)",
"mute": false,
"q": 3.0,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band8": {
"frequency": 8000.0,
"gain": 2.01,
"mode": "RLC (BT)",
"mute": false,
"q": 4.36,
"slope": "x1",
"solo": false,
"type": "Bell"
},
"band9": {
"frequency": 900.0,
"gain": -4.12,
"mode": "RLC (BT)",
"mute": false,
"q": 5.909999999999967,
"slope": "x1",
"solo": false,
"type": "Bell"
}
},
"split-channels": false
},
"loudness": {
"bypass": false,
"clipping": false,
"clipping-range": 6.0,
"fft": "4096",
"input-gain": 0.0,
"output-gain": 0.0,
"std": "ISO226-2003",
"volume": 6.999999999999991
},
"plugins_order": [
"loudness",
"equalizer"
]
}
}'';
in
*/
{
{pkgs, ...}: {
imports = [
{
system.stateVersion = "24.05";
home-manager.users.daniel.home.stateVersion = "24.05";
system.stateVersion = "24.11";
home-manager.users.daniel.home.stateVersion = "24.11";
networking.hostName = "foxtrot";
}
{
@ -254,10 +14,9 @@ in
sudo btrfs filesystem mkswapfile --size 32g --uuid clear /swap/swapfile
sudo swapon /swap/swapfile
*/
{device = "/swap/swapfile";}
];
# findmnt -no UUID -T /swap/swapfile
boot.resumeDevice = "/dev/disk/by-uuid/81c3354a-f629-4b6b-a249-7705aeb9f0d5";
# boot.resumeDevice = "/dev/disk/by-uuid/81c3354a-f629-4b6b-a249-7705aeb9f0d5";
# systemd.sleep.extraConfig = "HibernateDelaySec=180m";
services.fwupd.enable = true;
services.fwupd.extraRemotes = ["lvfs-testing"];
@ -337,7 +96,7 @@ in
];
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
monitor = [
"eDP-1,2880x1920@120Hz,0x0,1.66667"
"eDP-1,2880x1920@120Hz,0x0,1.5"
];
};
};
@ -430,6 +189,7 @@ in
kernelParams = [
"rtc_cmos.use_acpi_alarm=1"
"amdgpu.sg_display=0"
"boot.shell_on_fail=1"
"acpi_osi=\"!Windows 2020\""
# "nvme.noacpi=1" # maybe causing crashes upon waking?

View file

@ -162,6 +162,7 @@ in {
in {
enable = true;
checkRuleset = true;
flushRuleset = true;
ruleset = with inf; ''
table inet filter {
## set LANv4 {

View file

@ -12,9 +12,59 @@
btrfs inspect-internal map-swapfile -r /swap/swapfile
https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate#Hibernation_into_swap_file
*/
kernelParams = ["boot.shell_on_fail"];
# kernelParams = ["boot.shell_on_fail"];
initrd.availableKernelModules = ["xhci_pci" "nvme" "ahci"];
};
home-manager.users.daniel = {
programs.hyprlock.settings = {
label = [
{
monitor = "";
font_size = 32;
halign = "center";
valign = "center";
text_align = "center";
color = "rgba(255, 255, 255, 0.5)";
position = "0 -500";
font_family = "IosevkaLyteTerm";
text = "cmd[update:30000] acpi";
shadow_passes = 3;
shadow_size = 1;
shadow_color = "rgba(0, 0, 0, 1.0)";
shadow_boost = 1.0;
}
];
};
services.hypridle = let
secondsPerMinute = 60;
lockSeconds = 10 * secondsPerMinute;
in {
settings = {
listener = [
{
timeout = lockSeconds + 55;
on-timeout = ''systemctl suspend'';
}
];
};
};
wayland.windowManager.hyprland = {
settings = {
exec-once = [
"eww open bar0"
];
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
monitor = [
"eDP-1,1920x1080@60Hz,0x0,1.0"
];
};
};
};
hardware.bluetooth.enable = true;
}

View file

@ -28,6 +28,7 @@ restic-rascal-ssh-private-key: ENC[AES256_GCM,data:ddsOs0XsayyQI9qc6LzwQpdDnfwNp
restic-ssh-priv-key-benland: ENC[AES256_GCM,data:G+uiYZTvqXhpJb66j6Q6S+otlXeRX0CdYeMHzSMjIbvbI0AVm0yCU7COO5/O8i47NpvrKKS1kVxVEK8ixLRUowkl3hgRXhxsBIPFnpkMD0ENmJttm4HOpi0qIWMwzPYTjkz/slY4HcTFnCfYy1ZpURQdWwZsr1EdAA05bUMTtM22R3uOMzjO8uf72PCWX7yffo8MxsLmWvNVAOhVlrb2H5KQNR/IquFK3TFoZitq5nVDG9tcEFkX+lgA3zsmCHU/2DvvodgeRoltaAFvgjVznNGf4e5p8owHUtSzX52HwGZRiUlMuhpre2gm1r73n8AyZe41II+LX/85fMfZDdyayIGv3AAMBib8H0/AoChexRcdLQEmzOgRrXsgucDJrWSWP6WMBVyamUm79m5ep0fvL1lJftuJqN0uuq9dBrispdso4x+6jk/pDf5pEM/FE6s1rY832BEb7q0PnjyvVogOez+cIihmMpDdnS0A/8TFzg29i3C+93x5vrt3k7atNzR/jN+/GqX2FKLzxWrrIw2d,iv:IP+N8JQu+XRvwTtBnxu54ujzU5UliltXG3mk9HfJaN8=,tag:4oinE9QMaSh8IfUd/ttM3Q==,type:str]
paperless-superuser-password: ENC[AES256_GCM,data:lypWK73mOYI2hyQAW/4T3cDiVtsts3kKb7LZb9ES3n97Kn5l,iv:jBHUBFbb4GqQ3gnK0h5VCaGj3/kd3/eGa1QFiE7+B9I=,tag:UoQar+x1xVnCV2k+9hYjWA==,type:str]
factorio-server-settings: ENC[AES256_GCM,data:KlHkHGenkoLtqt0YCETwQdhH0tvvqsyake3lC9Wimso3Y8IXvDfkLpOTE53Jq4frf1QMJh0LYyle+AmIgGvB0gAp/4fM1E4Ah9JPtKkcjVPyQIypuaDsPaVQMxMlJt1+TLX2fbSWdxOo0lulNg==,iv:AHq37PY3ZxKF0+ClUrSvhJSBuXFtGZLBZW/ZADrVqLI=,tag:B0gFyy6rmd6CGJfzAhO02A==,type:str]
flanilla.env: ENC[AES256_GCM,data:qp0cpjHgpFx2gICtH8vNusJt08MLOIS3,iv:lugXNEJpMJ8mSwvo2jDwTwsY0x3kcHQDc29Z2Wz+LB4=,tag:0/FWQKUXePemFWGXbH1Tjg==,type:str]
sops:
kms: []
gcp_kms: []
@ -52,8 +53,8 @@ sops:
bGpacHFRSkJYUUMwOEh4cVBXZ1NESmsKa5EhZ7148ojCqZldukLcPLr93HqnpNgq
rMI0Nyz4Z4lkTVMRpA94zyNTkNwJ02/CYcKi8EJi6jGZnNPUTcnTwg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-10-22T22:31:46Z"
mac: ENC[AES256_GCM,data:nCGtkRXZuo3SZLjL2I3fJelaS1g9U4SVdzPZlZPgXzCWVyxokIMFwoSM15HgDu5KsFR+3kIfWVzIQk/lwt9lQPG3O6iUkfPRsIg0dnVrNSauNk0QXR91vCVlDmbFuDUf0C4EVrbE9RRgHzGzToSJYxQHSInMYVhJBcBfdbYZF9A=,iv:qu6p45+ATOs5Ms3bqM8ynXK0tKnN3wNmtwAsc2DSQbU=,tag:xpTeHWawPXfeqq/azPIPPg==,type:str]
lastmodified: "2024-12-26T16:42:22Z"
mac: ENC[AES256_GCM,data:COh57637D7BnYa2ke+SsGnRuyWmS3X6xDJNV0ATWEHqKjckZ2tqyfL1ugGuokmqilIsRcXi2q5sqCd8uNrWZLicZ/6eQ5w7CqoFU8OEON6ERibQ36X0oLsz9teuT+bx9ZMfzYOKh0LZY0XP9es7W+4PC3XiBJcIB2GWTTrrGaI4=,iv:aeBvVjC7Qn/ohYmpC6lvcve0bMSBsvfRSa1kyiyj0Rg=,tag:hld5rkOq5mfcGFShKuKgng==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.9.0
version: 3.9.1

View file

@ -8,20 +8,20 @@ sops:
- recipient: age1stdue5q5teskee057ced6rh9pzzr93xsy66w4sc3zu49rgxl7cjshztt45
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCTitMaFRiK1BSMEcwRmNk
Q0hmOGlZSFpkUUhyZkkwSU40QXB5cmlkR1FRCkRhbVBXQ2FjUzRhdEhrSEZKcWhM
dTNuVUljU0NSbVQzbXhZeFNENmN5QjgKLS0tIDFncEMrUCtWWTMyUGZIelY5aXB4
NmJWeDFSVVoxZCtRWlhNNXNyVWRvY28KgPbg6RScxBrxI0DvD6R7iKm8/70kJLdG
FhbgK9d/7UPMfefluEah7vKzXV/dn+/4KsCJuKFFZ1AsM5hDFQ+JGQ==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBlSFVjMEhNUEF5Q1ZWRmRB
cUQvQ0JYY2ZzNndPeVN4UTNhTUxZVzBvc3hBCkcwNHUyeEhMZFFHU3RIQWlONTRT
dUhlZUlHRjJQeGZwRk9td1FSZzZtR0kKLS0tIHphbVpncE9HLys2bWJicUtmU2Fp
b05GOEpRVURQYnJSZzhhalp3TW1kbHMKk/z68IP6WMZV+PbjJvM2EWhacJZoLMj3
iSGt5TqerVUOrQT00+Gx3laImdismLp9CjulEl82QyaYpmUvVYkEMA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1ez4why08hdx0qf940cjzs6ep4q5rk2gqq7lp99pe58fktpwv65esx4xrht
- recipient: age12x49p3mwf27r9gdkfmfqu7lr6gwcwznlhcvcgmv8dz3gac2mkdgsp36y9p
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXa1owK21QNUovZzZHekpw
OWdsSy9ZcmhGNzc1enNGVHRHTTlSb1E5UEJJCkF3MlpYQ1c5UGNySk94aENHMDh2
ME1rUlZscHFYSUVwOWFSczZGV2Z5aEEKLS0tIFlXTUFZaVJtWXltZGdEZzJPSjFJ
bTdCNS9zMzdvT2NiZVRyT1JzVmRFUFEKguq2i4rnVvGECZlUcEEubXfv4Ya/zI1N
3mWQslPHgnnWuwG7flbvafHYnyZCXsMqNKnNDM6wayDgKAbtCx3Syg==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6eW9QekJRTzlNWHVvK3hD
b0ZTWDdWY2RiZTBwZEZMcnpEMjlydkJrOGlrCldxZFhHcjlGRVRYNVJEc0R4Y1BZ
TldMNW81a2VjMm5SWHhHNFRVMWlFQTgKLS0tIEIycWtsT3pEbVZIc2FvZGpsbENz
MENZdE13U2J0eWtoOHJSbEJ3TVFUS2sK23t+MAjYfBI1j7B97mU0akq8zuRh7pOv
admjZR86rxMqs/Guj+nKhQ2pn/JeozlPOvwiaxD9eIVJBtIQK2my4A==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-09-14T12:41:15Z"
mac: ENC[AES256_GCM,data:sO3omCYH1urB/qcW3VippCinCUO1cmp5KrUSQk5ms7k+i9xUhdL3tTYHGVTa4PHV6VluukKnHuwAijo+rneNdCeMdIkAEskk/X6SDYgkwmjXuNcNEA4la22EqSrenJ8W3UafHDvP8+vpUKAzVo0E82Vmo9/YNJaqvqQM8PtciSc=,iv:2GboNZpAezZsWK3CbcwVw40zW4CucP3JhsYlvZ/Hy2M=,tag:w3XmkN76oYV+PmliPB01MQ==,type:str]

View file

@ -1,3 +1,4 @@
/target
/result
/.direnv
/.pre-commit-config.yaml

View file

@ -3,12 +3,12 @@
inputs.git-hooks.url = "github:cachix/git-hooks.nix";
inputs.git-hooks.inputs.nixpkgs.follows = "nixpkgs";
outputs = inputs: let
inherit (import nix/boilerplate.nix inputs) fullImport genPkgs;
inherit (import nix/boilerplate.nix inputs) call genPkgs;
in {
# overlays = import nix/overlays.nix;
checks = fullImport nix/checks.nix;
packages = fullImport nix/packages.nix;
devShells = fullImport nix/shells.nix;
checks = call (import nix/checks.nix);
packages = call (import nix/packages.nix);
devShells = call (import nix/shells.nix);
formatter = genPkgs (p: p.alejandra);
};
}

View file

@ -4,7 +4,7 @@ inputs @ {
...
}: let
forSelfOverlay =
if builtins.hasAttr "forSelf" self.overlays
if builtins.hasAttr "overlays" self && builtins.hasAttr "forSelf" self.overlays
then self.overlays.forSelf
else (_: p: p);
in rec {

View file

@ -1,6 +1,6 @@
{pkgs, ...}: rec {
lyrs = pkgs.rustPlatform.buildRustPackage {
pname = "lyrs";
my-package = pkgs.rustPlatform.buildRustPackage {
pname = "my-binary";
version = "0.1.0";
/*
@ -15,38 +15,8 @@
src = ./..;
hash = pkgs.lib.fakeHash;
cargoHash = "sha256-XHCXOlG4sdr1A3lqIK/7bB3soms1jxMIdfsFABmHVog=";
cargoHash = pkgs.lib.fakeHash;
};
pwatch = pkgs.writeShellScriptBin "pwatch" ''
dir="$(dirname "$(cargo locate-project --workspace --message-format plain)")"
pushd "$dir"
additional_watchexec_args=""
if [[ -f apps/$pkg/build.rs ]]; then
additional_watchexec_args="--watch apps/$pkg/build.rs"
fi
pkg="$1"; shift
cargo_subcmd="$1"; shift
cargo_subcmd_args="$@"; shift
argfile="apps/$pkg/.watchexec.argfile"
argfile_args=""
if [[ -f $argfile ]]; then
argfile_args="@$argfile"
fi
watchexec $argfile_args --stop-timeout 0s --restart \
--watch Cargo.toml \
--watch libs \
--watch apps/$pkg/src/ \
--watch apps/$pkg/Cargo.toml \
$additional_watchexec_args \
cargo "$cargo_subcmd" --package "$pkg" "$cargo_subcmd_args"
popd
'';
default = lyrs;
default = my-package;
}

View file

@ -5,9 +5,9 @@
}: let
inherit (pkgs) system;
in rec {
lyrs-dev = pkgs.mkShell {
my-package-dev = pkgs.mkShell {
inherit (self.checks.${system}.git-hooks) shellHook;
inputsFrom = [self.packages.${system}.lyrs];
inputsFrom = [self.packages.${system}.my-package];
packages = with pkgs; [
convco
rustPackages.clippy
@ -18,5 +18,5 @@ in rec {
lldb
];
};
default = lyrs-dev;
default = my-package-dev;
}