chore: merge remote-tracking branch 'refs/remotes/origin/master'

This commit is contained in:
Ahwx 2026-01-08 21:26:36 +01:00
commit 281f567843
20 changed files with 368 additions and 112 deletions

172
flake.lock generated
View file

@ -41,11 +41,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762356719, "lastModified": 1765900596,
"narHash": "sha256-qwd/xdoOya1m8FENle+4hWnydCtlXUWLAW/Auk6WL7s=", "narHash": "sha256-+hn8v9jkkLP9m+o0Nm5SiEq10W0iWDSotH2XfjU45fA=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "aquamarine", "repo": "aquamarine",
"rev": "6d0b3567584691bf9d8fedb5d0093309e2f979c7", "rev": "d83c97f8f5c0aae553c1489c7d9eff3eadcadace",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -98,11 +98,11 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1747046372, "lastModified": 1761588595,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "narHash": "sha256-XKUZz9zewJNUj46b4AJdiRZJAvSZ0Dqj2BNfXvFlJC4=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "rev": "f387cd2afec9419c8ee37694406ca490c3f34ee5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -253,11 +253,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763416652, "lastModified": 1767104570,
"narHash": "sha256-8EBEEvtzQ11LCxpQHMNEBQAGtQiCu/pqP9zSovDSbNM=", "narHash": "sha256-GKgwu5//R+cLdKysZjGqvUEEOGXXLdt93sNXeb2M/Lk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "ea164b7c9ccdc2321379c2ff78fd4317b4c41312", "rev": "e4e78a2cbeaddd07ab7238971b16468cc1d14daf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -271,11 +271,11 @@
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1759613406, "lastModified": 1766066098,
"narHash": "sha256-PzgQJydp+RlKvwDi807pXPlURdIAVqLppZDga3DwPqg=", "narHash": "sha256-d3HmUbmfTDIt9mXEHszqyo2byqQMoyJtUJCZ9U1IqHQ=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "contrib", "repo": "contrib",
"rev": "32e1a75b65553daefb419f0906ce19e04815aa3a", "rev": "41dbcac8183bb1b3a4ade0d8276b2f2df6ae4690",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -329,11 +329,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762462052, "lastModified": 1763733840,
"narHash": "sha256-6roLYzcDf4V38RUMSqycsOwAnqfodL6BmhRkUtwIgdA=", "narHash": "sha256-JnET78yl5RvpGuDQy3rCycOCkiKoLr5DN1fPhRNNMco=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprgraphics", "repo": "hyprgraphics",
"rev": "ffc999d980c7b3bca85d3ebd0a9fbadf984a8162", "rev": "8f1bec691b2d198c60cccabca7a94add2df4ed1a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -352,6 +352,7 @@
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"hyprutils": "hyprutils", "hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
"hyprwire": "hyprwire",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
@ -360,11 +361,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1763681820, "lastModified": 1767300597,
"narHash": "sha256-gAdAtZ/VLTrbLEQXeAZRk0OkmFrJucMLP3zdqHai/cc=", "narHash": "sha256-lGE1j1bEuNp7XoDP+oyyF/c+MzYAs6S+sz0NK71nXZE=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "b5a2ef77b7876798d33502f8de006f9c478c12db", "rev": "31d3181e1ee91e338fb4fb8207d64b8d689310fc",
"revCount": 6636, "revCount": 6766,
"submodules": true, "submodules": true,
"type": "git", "type": "git",
"url": "https://github.com/hyprwm/Hyprland" "url": "https://github.com/hyprwm/Hyprland"
@ -408,11 +409,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762755186, "lastModified": 1765643131,
"narHash": "sha256-ZjjETUHtoEhVN7JI1Cbt3p/KcXpK8ZQaPHx7UkG1OgA=", "narHash": "sha256-CCGohW5EBIRy4B7vTyBMqPgsNcaNenVad/wszfddET0=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-guiutils", "repo": "hyprland-guiutils",
"rev": "66356e20a8ed348aa49c1b9ceace786e224225b3", "rev": "e50ae912813bdfa8372d62daf454f48d6df02297",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -438,11 +439,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1765207366, "lastModified": 1767304464,
"narHash": "sha256-s0jO2kEj5cLLTgTblKnAKjqt3MjYFnmyrQT3SxiUugM=", "narHash": "sha256-HsdfmPf5291Y3yXScMoj53P/9SS1DK3KgbprBuR8A4k=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-plugins", "repo": "hyprland-plugins",
"rev": "e058ea23b80775cf20c675d064678416df2d9d04", "rev": "7a8521112361997d071fd1fef06d6becc7e53240",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -463,11 +464,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1759610243, "lastModified": 1765214753,
"narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=", "narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-protocols", "repo": "hyprland-protocols",
"rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622", "rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -492,11 +493,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763254292, "lastModified": 1764612430,
"narHash": "sha256-JNgz3Fz2KMzkT7aR72wsgu/xNeJB//LSmdilh8Z/Zao=", "narHash": "sha256-54ltTSbI6W+qYGMchAgCR6QnC1kOdKXN6X6pJhOWxFg=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "deea98d5b61d066bdc7a68163edd2c4bd28d3a6b", "rev": "0d00dc118981531aa731150b6ea551ef037acddd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -544,11 +545,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1762463729, "lastModified": 1764592794,
"narHash": "sha256-2fYkU/mdz8WKY3dkDPlE/j6hTxIwqultsx4gMMsMns0=", "narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprtoolkit", "repo": "hyprtoolkit",
"rev": "88483bdee5329ec985f0c8f834c519cd18cfe532", "rev": "5cfe0743f0e608e1462972303778d8a0859ee63e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -569,11 +570,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763323331, "lastModified": 1766160771,
"narHash": "sha256-+Z0OfCo1MS8/aIutSAW5aJR9zTae1wz9kcJYMgpwN6M=", "narHash": "sha256-roINUGikWRqqgKrD4iotKbGj3ZKJl3hjMz5l/SyKrHw=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "0c6411851cc779d551edc89b83966696201611aa", "rev": "5ac060bfcf2f12b3a6381156ebbc13826a05b09f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -594,11 +595,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1755184602, "lastModified": 1763640274,
"narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=", "narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d", "rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -607,6 +608,35 @@
"type": "github" "type": "github"
} }
}, },
"hyprwire": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1766253200,
"narHash": "sha256-26qPwrd3od+xoYVywSB7hC2cz9ivN46VPLlrsXyGxvE=",
"owner": "hyprwm",
"repo": "hyprwire",
"rev": "1079777525b30a947c8d657fac158e00ae85de9d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwire",
"type": "github"
}
},
"ixx": { "ixx": {
"inputs": { "inputs": {
"flake-utils": [ "flake-utils": [
@ -639,11 +669,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1762847253, "lastModified": 1767185284,
"narHash": "sha256-BWWnUUT01lPwCWUvS0p6Px5UOBFeXJ8jR+ZdLX8IbrU=", "narHash": "sha256-ljDBUDpD1Cg5n3mJI81Hz5qeZAwCGxon4kQW3Ho3+6Q=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "899dc449bc6428b9ee6b3b8f771ca2b0ef945ab9", "rev": "40b1a28dce561bea34858287fbb23052c3ee63fe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -685,11 +715,11 @@
}, },
"nixpkgs_10": { "nixpkgs_10": {
"locked": { "locked": {
"lastModified": 1762977756, "lastModified": 1766651565,
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=", "narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55", "rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -749,11 +779,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1764242076, "lastModified": 1767116409,
"narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=", "narHash": "sha256-5vKw92l1GyTnjoLzEagJy5V5mDFck72LiQWZSOnSicw=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4", "rev": "cad22e7d996aea55ecab064e84834289143e44a0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -797,11 +827,11 @@
}, },
"nixpkgs_8": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1763421233, "lastModified": 1767116409,
"narHash": "sha256-Stk9ZYRkGrnnpyJ4eqt9eQtdFWRRIvMxpNRf4sIegnw=", "narHash": "sha256-5vKw92l1GyTnjoLzEagJy5V5mDFck72LiQWZSOnSicw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "89c2b2330e733d6cdb5eae7b899326930c2c0648", "rev": "cad22e7d996aea55ecab064e84834289143e44a0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -813,11 +843,11 @@
}, },
"nixpkgs_9": { "nixpkgs_9": {
"locked": { "locked": {
"lastModified": 1763191728, "lastModified": 1766840161,
"narHash": "sha256-esRhOS0APE6k40Hs/jjReXg+rx+J5LkWw7cuWFKlwYA=", "narHash": "sha256-Ss/LHpJJsng8vz1Pe33RSGIWUOcqM1fjrehjUkdrWio=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1d4c88323ac36805d09657d13a5273aea1b34f0c", "rev": "3edc4a30ed3903fdf6f90c837f961fa6b49582d1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -834,11 +864,11 @@
"nixvim": "nixvim_2" "nixvim": "nixvim_2"
}, },
"locked": { "locked": {
"lastModified": 1755612464, "lastModified": 1767307820,
"narHash": "sha256-a77eam3zh4Lr4CrzOo/QKBD+etz4+TQZv/THVoLAhBA=", "narHash": "sha256-5L9VbYzjeaq1npMXyAFFak9G/+c9akZoFummW7Een9c=",
"owner": "ahwxorg", "owner": "ahwxorg",
"repo": "nixvim-config", "repo": "nixvim-config",
"rev": "76880a7e5930e8255f0d5c19b865beada4bf0573", "rev": "a0ff3802e67a281acc7ab957d716a994660bb3f9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -873,11 +903,11 @@
"nixpkgs": "nixpkgs_8" "nixpkgs": "nixpkgs_8"
}, },
"locked": { "locked": {
"lastModified": 1763722179, "lastModified": 1767347500,
"narHash": "sha256-7czFIGsaaoO4oqL6srEd3LUyA7MDbuSknpN6GAvwWDc=", "narHash": "sha256-v+O3SCBPq5qSmz+trAvcizq+cKrd8qco7Z2XG+YLRC8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "bb1508be2d4fbfe82bf010aaa3c0ecff6d27694d", "rev": "91f6328555690ffc84ab2ada1d21f544940811ac",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -913,7 +943,7 @@
"oisd": { "oisd": {
"flake": false, "flake": false,
"locked": { "locked": {
"narHash": "sha256-fgfgm5GHDqq/RIRF8M1j6H3OZ/r1DVPgwMvwikdauNI=", "narHash": "sha256-FAfdtuHCMBZtkhSqHUCQj5AtMcfiem8/D3VuV+pOfo4=",
"type": "file", "type": "file",
"url": "https://big.oisd.nl/domainswild" "url": "https://big.oisd.nl/domainswild"
}, },
@ -932,11 +962,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763319842, "lastModified": 1765911976,
"narHash": "sha256-YG19IyrTdnVn0l3DvcUYm85u3PaqBt6tI6VvolcuHnA=", "narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "7275fa67fbbb75891c16d9dee7d88e58aea2d761", "rev": "b68b780b69702a090c8bb1b973bab13756cc7a27",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -985,11 +1015,11 @@
"nixpkgs": "nixpkgs_9" "nixpkgs": "nixpkgs_9"
}, },
"locked": { "locked": {
"lastModified": 1763607916, "lastModified": 1766894905,
"narHash": "sha256-VefBA1JWRXM929mBAFohFUtQJLUnEwZ2vmYUNkFnSjE=", "narHash": "sha256-pn8AxxfajqyR/Dmr1wnZYdUXHgM3u6z9x0Z1Ijmz2UQ=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "877bb495a6f8faf0d89fc10bd142c4b7ed2bcc0b", "rev": "61b39c7b657081c2adc91b75dd3ad8a91d6f07a7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1004,11 +1034,11 @@
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1763267524, "lastModified": 1767195736,
"narHash": "sha256-CywB4iCpGr4CYZAD+WboFwBQ7Wnc7LdfSemFWuH/1Ro=", "narHash": "sha256-0xvPSbhIGeJzsJXNTkgJ3PjwdVItKm85wzYKA9NmSzI=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "cf33e39bd1a21993a28ffee8be433e212ecf346a", "rev": "465adc0ab6ff0c4b9b1db1c6e7fd7eeb553b3261",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -173,6 +173,16 @@
inherit self inputs username; inherit self inputs username;
}; };
}; };
april = nixpkgs.lib.nixosSystem {
inherit system;
modules = [
(import ./hosts/april)
];
specialArgs = {
host = "april";
inherit self inputs username;
};
};
}; };
}; };
} }

58
hosts/april/default.nix Normal file
View file

@ -0,0 +1,58 @@
{
lib,
config,
pkgs,
...
}:
{
imports = [
./hardware-configuration.nix
./../../modules/core
./../../modules/services/tailscale.nix
./../../modules/services/mpd.nix
];
liv = {
laptop.enable = true;
gui.enable = true;
desktop.enable = false;
creative.enable = false;
amdgpu.enable = false;
};
services = {
vnstat.enable = true;
};
networking.hostName = "april";
powerManagement = {
enable = true;
powertop.enable = true;
cpuFreqGovernor = lib.mkDefault "ondemand";
};
boot = {
kernelParams = [
"mem_sleep_default=deep"
];
kernelModules = [ "acpi_call" ];
kernelPackages = pkgs.linuxPackages_latest;
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
systemd-boot.configurationLimit = 10;
};
extraModulePackages =
with config.boot.kernelPackages;
[
acpi_call
cpupower
]
++ [ pkgs.cpupower-gui ];
};
time.timeZone = "Europe/Amsterdam";
nixpkgs.config.allowUnfree = true;
}

View file

@ -0,0 +1,64 @@
# 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,
...
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [
"xhci_pci"
"nvme"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.initrd.luks.devices."luks-c4154cca-9246-40e7-9f92-f67cf412f718".device =
"/dev/disk/by-uuid/c4154cca-9246-40e7-9f92-f67cf412f718";
fileSystems."/" = {
device = "/dev/disk/by-uuid/28283b70-d1ab-4c1e-9e9e-4efdcb051553";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-577b813a-bbe2-479c-b439-b91964e9b36c".device =
"/dev/disk/by-uuid/577b813a-bbe2-479c-b439-b91964e9b36c";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/44F1-737B";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [
{ device = "/dev/disk/by-uuid/41da47c8-b3ba-4773-941e-a35dfd73aaef"; }
];
# 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.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View file

@ -50,7 +50,7 @@ in
hardware.framework = { hardware.framework = {
amd-7040.preventWakeOnAC = true; amd-7040.preventWakeOnAC = true;
laptop13.audioEnhancement.enable = true; # laptop13.audioEnhancement.enable = true;
}; };
# Disable light sensors and accelerometers as they are not used and consume extra battery # Disable light sensors and accelerometers as they are not used and consume extra battery

View file

@ -1,13 +1,14 @@
{ ... }: { ... }:
{ {
imports = imports =
[ (import ./bootloader.nix) ] [ (import ./bootloader.nix) ]
++ [ (import ./hardware.nix) ] ++ [ (import ./hardware.nix) ]
++ [ (import ./network.nix) ] ++ [ (import ./network.nix) ]
++ [ (import ./nvim.nix) ]
++ [ (import ./program.nix) ] ++ [ (import ./program.nix) ]
++ [ (import ./security.nix) ] ++ [ (import ./security.nix) ]
++ [ (import ./services.nix) ] ++ [ (import ./services.nix) ]
++ [ (import ./system.nix) ] ++ [ (import ./system.nix) ]
++ [ (import ./user.nix) ]; ++ [ (import ./user.nix) ];
# ++ [ (import ./virtualization.nix) ]; # ++ [ (import ./virtualization.nix) ];
} }

View file

@ -261,7 +261,8 @@
"$mainMod, Q, killactive," "$mainMod, Q, killactive,"
"$mainMod, F, fullscreen, 0" # set 1 to 0 to set full screen without waybar "$mainMod, F, fullscreen, 0" # set 1 to 0 to set full screen without waybar
"$mainMod, Space, togglefloating," "$mainMod, Space, togglefloating,"
"$mainMod, D, exec, bemenu-run -l 5 --ignorecase" # "$mainMod, D, exec, bemenu-run -l 5 --ignorecase"
"$mainMod, D, exec, vicinae toggle"
"SUPER SHIFT, L, exec, swaylock --image /home/${username}/.local/share/bg.png" "SUPER SHIFT, L, exec, swaylock --image /home/${username}/.local/share/bg.png"
"SUPER, L, exec, swaylock --image /home/${username}/.local/share/bg.png" "SUPER, L, exec, swaylock --image /home/${username}/.local/share/bg.png"
"$mainMod, E, exec, nautilus" "$mainMod, E, exec, nautilus"

View file

@ -13,6 +13,7 @@
nwg-dock-hyprland nwg-dock-hyprland
hyprland-monitor-attached hyprland-monitor-attached
hypridle hypridle
vicinae
]; ];
# systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ]; # systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ];
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {

View file

@ -24,6 +24,15 @@
position = "0,0"; position = "0,0";
} }
] ]
else if (host == "april") then
[
{
criteria = "eDP-1";
scale = 1.0;
status = "enable";
position = "0,0";
}
]
else if (host == "imilia") then else if (host == "imilia") then
[ [
{ {

View file

@ -1,7 +1,28 @@
{ pkgs, ... }:
{ {
lib,
config,
pkgs,
inputs,
...
}:
{
# Nixvim is being used for this
programs.neovim = { programs.neovim = {
enable = false; enable = false;
vimAlias = false; vimAlias = false;
}; };
xdg.mimeApps.defaultApplications = lib.mkIf config.xdg.mimeApps.enable {
"text/markdown" = "nvim.desktop";
"text/html" = "nvim.desktop";
"text/xml" = "nvim.desktop";
"text/plain" = "nvim.desktop";
"text/x-shellscript" = "nvim.desktop";
};
home.packages = with pkgs; [
inputs.alejandra.defaultPackage.${pkgs.stdenv.hostPlatform.system}
inputs.nixvim.packages.${pkgs.stdenv.hostPlatform.system}.default # import config from github:ahwxorg/nixvim-config
mermaid-cli
gnuplot
];
} }

View file

@ -1,10 +1,4 @@
{ { pkgs, ... }:
inputs,
lib,
pkgs,
config,
...
}:
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
# Environment shit # Environment shit
@ -36,7 +30,7 @@
bitwarden-cli bitwarden-cli
imagemagick imagemagick
foot foot
termpdfpy # termpdfpy # shit broke again smfh
vimv vimv
pass pass
lm_sensors lm_sensors
@ -80,11 +74,6 @@
# pip install --user --break-system-packages <package> # pip install --user --break-system-packages <package>
# '') # '')
inputs.alejandra.defaultPackage.${pkgs.stdenv.hostPlatform.system}
inputs.nixvim.packages.${pkgs.stdenv.hostPlatform.system}.default
mermaid-cli
gnuplot
# Email/calendar/etc # Email/calendar/etc
neomutt neomutt
w3m w3m

View file

@ -1,4 +1,4 @@
{ inputs, pkgs, ... }: { pkgs, ... }:
{ {
home.packages = with pkgs; [ home.packages = with pkgs; [
vimv vimv
@ -27,7 +27,5 @@
wget wget
xxd xxd
borgbackup borgbackup
inputs.alejandra.defaultPackage.${pkgs.stdenv.hostPlatform.system}
inputs.nixvim.packages.${pkgs.stdenv.hostPlatform.system}.default
]; ];
} }

View file

@ -1,6 +1,4 @@
{ {
config,
lib,
pkgs, pkgs,
username, username,
... ...
@ -50,6 +48,7 @@
// "wireplumber", // "wireplumber",
"group/audio", "group/audio",
"group/battery", "group/battery",
"custom/pomodoro",
"group/clock" "group/clock"
], ],
@ -109,7 +108,7 @@
}, },
"custom/music": { "custom/music": {
"interval": "once", "interval": 60,
"return-type": "json", "return-type": "json",
"exec": "~/.local/bin/waybar-music", "exec": "~/.local/bin/waybar-music",
"on-click": "playerctl play-pause", "on-click": "playerctl play-pause",
@ -367,6 +366,15 @@
"interval": 60, "interval": 60,
"format": "CEST: <span color='#aaaaaa'>{}</span> ", "format": "CEST: <span color='#aaaaaa'>{}</span> ",
"exec": "~/.local/bin/waybar-minutes" "exec": "~/.local/bin/waybar-minutes"
},
"custom/pomodoro": {
"interval": 1,
"format": "{}",
"return-type": "json",
"exec": "waybar-module-pomodoro --no-work-icons",
"on-click": "waybar-module-pomodoro toggle",
"on-click-right": "waybar-module-pomodoro reset"
} }
} }
] ]

View file

@ -1,12 +1,11 @@
{ {
pkgs, pkgs,
username, username,
config, lib,
... ...
}: }:
let let
# homeExternalIPv4 = "${pkgs.coreutils}/bin/cat ${config.sops.secrets.homeExternalIPv4.path}"; waybar-module-pomodoro = pkgs.callPackage ./waybar-module-pomodoro.nix { };
homeExternalIPv4 = "92.118.0.69";
in in
{ {
home.file = { home.file = {
@ -242,7 +241,7 @@ in
NODE="$(mullvad status | grep -Ei 'relay' | awk '{print $2}' | tr '[:upper:]' '[:lower:]')" NODE="$(mullvad status | grep -Ei 'relay' | awk '{print $2}' | tr '[:upper:]' '[:lower:]')"
LOCATION="$(mullvad status | grep -Ei 'location' | cut -d':' -f2 | cut -d'.' -f1 | sed 's/ //g')" LOCATION="$(mullvad status | grep -Ei 'location' | cut -d':' -f2 | cut -d'.' -f1 | sed 's/ //g')"
IPV4="$(mullvad status | grep 'IPv4' | cut -d':' -f3 | sed 's/ //g')" IPV4="$(mullvad status | grep 'IPv4' | cut -d':' -f3 | sed 's/ //g')"
echo "$IPV4" | grep -q "${homeExternalIPv4}" && LOCATION="home" echo "$IPV4" | grep -q "92.118.0.69" && LOCATION="home"
echo "$STATUS" | grep -Eioq 'connected|connecting' && TEXT="{\"text\":\"$STATUS ($LOCATION)\",\"location\":\"$LOCATION\",\"node\":\"$NODE\"}" # || ip address show tailscale0 | grep "global tailscale0" && TEXT="{\"text\":\"tailscale ($LOCATION)\",\"location\":\"$LOCATION\",\"node\":\"$NODE\"}" echo "$STATUS" | grep -Eioq 'connected|connecting' && TEXT="{\"text\":\"$STATUS ($LOCATION)\",\"location\":\"$LOCATION\",\"node\":\"$NODE\"}" # || ip address show tailscale0 | grep "global tailscale0" && TEXT="{\"text\":\"tailscale ($LOCATION)\",\"location\":\"$LOCATION\",\"node\":\"$NODE\"}"
echo "$STATUS" | grep -Eioq 'disconnected' && TEXT="{\"text\":\"$STATUS\",\"location\":\"$LOCATION\",\"node\":\"$NODE\"}" echo "$STATUS" | grep -Eioq 'disconnected' && TEXT="{\"text\":\"$STATUS\",\"location\":\"$LOCATION\",\"node\":\"$NODE\"}"
@ -255,5 +254,6 @@ in
wf-recorder wf-recorder
bemenu bemenu
ncspot ncspot
waybar-module-pomodoro
]; ];
} }

View file

@ -0,0 +1,31 @@
{
lib,
pkgs,
rustPlatform,
fetchFromGitHub,
writableTmpDirAsHomeHook,
...
}:
rustPlatform.buildRustPackage {
pname = "waybar-module-pomodoro";
version = "0.0.1";
src = fetchFromGitHub {
owner = "Andeskjerf";
repo = "waybar-module-pomodoro";
hash = "sha256-vB5WROn/GmaJyLNHnyfhTZItjQlJ+LMXMw8gOT1GM0s=";
rev = "3867b25ab691c4a697ee2ffca76d7cc9408675cc";
};
cargoHash = "sha256-FTzqNkGn1dk+pdee8U07NI/uqUR6/gs51ZWOpYro3j8=";
nativeCheckInputs = [
writableTmpDirAsHomeHook
];
meta = {
description = "waybar module that provides a pomodoro timer";
homepage = "https://github.com/Andeskjerf/waybar-module-pomodoro";
maintainers = [ ];
};
}

View file

@ -128,6 +128,38 @@
printf "%s\n" "''${url}" printf "%s\n" "''${url}"
} }
function cd() {
if [ -f "$1" ]; then
${pkgs.zoxide}/bin/zoxide "$(dirname "$1")"
return
fi
${pkgs.zoxide}/bin/zoxide $@
}
get-git-root() {
echo "$(${pkgs.git}/bin/git rev-parse --show-toplevel 2>/dev/null)"
}
cd-git-root() {
pushd "$(get-git-root)"
}
pushd-git-root-widget() {
setopt localoptions pipefail no_aliases 2> /dev/null
local dir="$(eval "get-git-root")"
if [[ -z "$dir" ]]; then
zle redisplay
return 0
fi
zle push-line
BUFFER="builtin pushd -- ''${(q)dir}"
zle accept-line
local ret=$?
zle reset-prompt
return $ret
}
function nixcd () { function nixcd () {
PACKAGE_NAME="$1" PACKAGE_NAME="$1"
if [[ "$PACKAGE_NAME" = "" ]]; then if [[ "$PACKAGE_NAME" = "" ]]; then

View file

@ -25,7 +25,7 @@ in
"https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md" "https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v3/public-resolvers.md"
"https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md" "https://download.dnscrypt.info/resolvers-list/v3/public-resolvers.md"
]; ];
minisign_key = "sha256-fgfgm5GHDqq/RIRF8M1j6H3OZ/r1DVPgwMvwikdauNI="; # See https://github.com/DNSCrypt/dnscrypt-resolvers/blob/master/v3/public-resolvers.md minisign_key = "sha256-BEGZgyaI3g9WwpnTyW2cYT0rh3248eL0sC0z76filNM="; # See https://github.com/DNSCrypt/dnscrypt-resolvers/blob/master/v3/public-resolvers.md
cache_file = "/var/lib/dnscrypt/public-resolvers.md"; cache_file = "/var/lib/dnscrypt/public-resolvers.md";
}; };

View file

@ -14,17 +14,19 @@
services.mpd = { services.mpd = {
enable = true; enable = true;
musicDirectory = "/home/${username}/Music"; settings = {
playlistDirectory = "/home/${username}/Music/.playlists"; playlist_directory = "/home/${username}/Music/.playlists";
extraConfig = '' music_directory = "/home/${username}/Music";
restore_paused "yes" restore_paused = "yes";
auto_update "yes" auto_update = "yes";
audio_output { audio_output = [
type "pipewire" {
name "pipewire" type = "pipewire";
} name = "pipewire";
''; }
];
};
user = "${username}"; # PipeWire requires this as it runs as the normal user and mpd normally runs as a system user. user = "${username}"; # PipeWire requires this as it runs as the normal user and mpd normally runs as a system user.
# Optional: # Optional:

View file

@ -1,9 +1,10 @@
{ pkgs, ... }:
{ {
services.ollama = { services.ollama = {
enable = true; enable = true;
# Optional: preload models, see https://ollama.com/library # Optional: preload models, see https://ollama.com/library
# loadModels = [ "llama3.2:3b" "deepseek-r1:1.5b"]; # loadModels = [ "llama3.2:3b" "deepseek-r1:1.5b"];
acceleration = "rocm"; # nope, 5700XT is too old for this package = pkgs.ollama-rocm; # nope, 5700XT is too old for this
}; };
services.open-webui.enable = false; services.open-webui.enable = false;
} }

View file

@ -56,6 +56,6 @@ in
criticalPowerAction = "Hibernate"; criticalPowerAction = "Hibernate";
}; };
}; };
powerManagement.powertop.enable = false; # somehow figure out how to let this not apply to specific USB devices, as they will auto suspend and that is annoying. # powerManagement.powertop.enable = false; # somehow figure out how to let this not apply to specific USB devices, as they will auto suspend and that is annoying.
}; };
} }