Compare commits
329 commits
Author | SHA1 | Date | |
---|---|---|---|
2d1a773417 | |||
311c8d9d5e | |||
1447f86c3a | |||
dc34a72853 | |||
7e01f476db | |||
1c47b57987 | |||
7641e741e0 | |||
63e4365ffb | |||
4df818415d | |||
714259545b | |||
1ecc3f6f53 | |||
01d3f942a0 | |||
661fef1caa | |||
38e6adf01a | |||
7e8c2ea3c4 | |||
2bfe2dd4ac | |||
c6d887c0c9 | |||
237f1e2ec3 | |||
bb1cbf1c49 | |||
b395075081 | |||
d45e4e9d02 | |||
3809dce1c5 | |||
854d3175e8 | |||
cb208cac4e | |||
5a55164f54 | |||
764d93a4ec | |||
12bc14657e | |||
0733f4d2d1 | |||
94cf4c2005 | |||
09a71fb1ac | |||
ac151edf2a | |||
aa02a442a2 | |||
8ee2d1a953 | |||
998607e3ea | |||
f1a7f71f0f | |||
cb17da672d | |||
6559a836f5 | |||
bd08882fc8 | |||
b2f5485fc1 | |||
587ef7df27 | |||
c2a5b6b617 | |||
6d005a373a | |||
cb999ee36c | |||
f7f82416e2 | |||
562ea5cb0b | |||
0afc458787 | |||
ff6c8e2ace | |||
a8f4fd368e | |||
7207a125cf | |||
fa3eacab09 | |||
af6cc74b9c | |||
0fa9654211 | |||
388781a196 | |||
019fd7cf40 | |||
c658ec46ad | |||
2e3ac4cb0c | |||
e8c92c9d3c | |||
d99782af05 | |||
f5e561fa43 | |||
8523564441 | |||
862c2b904d | |||
7f4c6202f0 | |||
d1e43e7b7d | |||
d69f3e0bef | |||
82742e291d | |||
a8bb98a917 | |||
6a06290881 | |||
cbf8cd125f | |||
fdef3b09ad | |||
4c05b7a2a1 | |||
52c844ac28 | |||
8c43ffb75a | |||
c9d76dd13d | |||
9efa528b23 | |||
d541baaf76 | |||
9d51d447f3 | |||
c6983b6f5a | |||
2bcd8a0601 | |||
c855ff5bfe | |||
c9640ad7f5 | |||
25d02e5d3a | |||
2f24f85e44 | |||
5cbc2cc675 | |||
2da44acb6d | |||
4ab970aea9 | |||
6d9dbe38cb | |||
697ddd5459 | |||
9f9358cfd5 | |||
70f1a21740 | |||
41c64868b3 | |||
dd93d696b9 | |||
aacd8a5fad | |||
51af7cf05e | |||
9df0a60b59 | |||
3641a241a1 | |||
b40f1fc5fb | |||
6f36d70cdf | |||
27dd02777d | |||
cbdea403d3 | |||
0936a5d28f | |||
5848a4e3f8 | |||
2e89390dd0 | |||
ab7f3976ee | |||
a79ff35f54 | |||
c53a848919 | |||
292c7602f7 | |||
16403fc68d | |||
![]() |
5d67f7c33d | ||
![]() |
444a4cb511 | ||
![]() |
d5dfdf8e71 | ||
![]() |
44d6373784 | ||
![]() |
2d40953bd8 | ||
![]() |
1bc8ea24df | ||
![]() |
1d33c05128 | ||
![]() |
bfab9f3598 | ||
![]() |
f0af00e1c2 | ||
![]() |
da1bd71d73 | ||
![]() |
0648d7d0d3 | ||
![]() |
c9063ff778 | ||
![]() |
fbdce20e93 | ||
![]() |
a44015b02a | ||
![]() |
ff7a37a433 | ||
![]() |
dd1418b55a | ||
![]() |
9dd0b4327d | ||
![]() |
07b44f179b | ||
![]() |
741c7e4ca4 | ||
![]() |
e53536ca0f | ||
![]() |
533852f2ad | ||
![]() |
606e382083 | ||
![]() |
42d04f49fe | ||
![]() |
a1bfa2c1f5 | ||
![]() |
addd455f27 | ||
![]() |
4c9b59885c | ||
![]() |
2832f7b608 | ||
![]() |
545a491ac8 | ||
![]() |
19a6ddd6e6 | ||
![]() |
92d3bd4d4a | ||
![]() |
6f9317ac63 | ||
![]() |
650412f300 | ||
![]() |
e35f4398dc | ||
![]() |
1edd932f5c | ||
![]() |
0efe8702c4 | ||
![]() |
c35aec21f0 | ||
![]() |
36853433f5 | ||
![]() |
3e715817fc | ||
![]() |
f7a50f22e2 | ||
![]() |
66c98fe365 | ||
![]() |
94f5d87fd9 | ||
![]() |
cabc9e52e5 | ||
![]() |
a8fd58774d | ||
![]() |
26c05010d7 | ||
![]() |
f51d625422 | ||
![]() |
6b8f0afde8 | ||
![]() |
7185fdc514 | ||
![]() |
202c7aed6c | ||
![]() |
e16ccb1ac1 | ||
![]() |
54c81c7ccf | ||
![]() |
e708b07e8b | ||
![]() |
5e8be92b98 | ||
![]() |
34b351e6b4 | ||
![]() |
010165d1e5 | ||
![]() |
75405128b6 | ||
![]() |
f4462c2c22 | ||
![]() |
8c28158095 | ||
![]() |
55e8323783 | ||
![]() |
8d9da997e4 | ||
![]() |
a402f425ce | ||
![]() |
a2338ad3b8 | ||
![]() |
7425dc1baa | ||
![]() |
bc3093eccb | ||
![]() |
5940883d82 | ||
![]() |
6820f4dbe1 | ||
![]() |
caba7f3420 | ||
![]() |
a27addf7ca | ||
![]() |
8bb634a237 | ||
![]() |
19b0d8b375 | ||
![]() |
75558aeee3 | ||
![]() |
8cc6dfd2a5 | ||
![]() |
4b44cea935 | ||
![]() |
ff5131639f | ||
![]() |
a9e793cb55 | ||
![]() |
2de692b99a | ||
![]() |
c113b544ca | ||
![]() |
5a432249f1 | ||
![]() |
0ec6f262c6 | ||
![]() |
e9627d6344 | ||
![]() |
723e4676df | ||
![]() |
13adbfab7d | ||
![]() |
1b2ff2b8ba | ||
![]() |
667c698a7a | ||
![]() |
9121162d30 | ||
![]() |
67152beb07 | ||
![]() |
66a4bef740 | ||
![]() |
cd8658c042 | ||
![]() |
718a8c08cf | ||
![]() |
66cf3f28c6 | ||
![]() |
d34a1a4f1f | ||
![]() |
2f857b6892 | ||
![]() |
47a8407bcf | ||
![]() |
8404bfca3d | ||
![]() |
2db6931385 | ||
![]() |
69641f2aed | ||
![]() |
b2dcd00b30 | ||
![]() |
40051640a6 | ||
![]() |
36eb89f9c9 | ||
![]() |
06617a2e1d | ||
![]() |
1bf0ff35fc | ||
![]() |
6efa1dde3a | ||
![]() |
8ff6659ebc | ||
![]() |
f1dbab5a52 | ||
![]() |
ad4888171c | ||
![]() |
0a88324751 | ||
![]() |
47fc9f9fc9 | ||
![]() |
552a324750 | ||
![]() |
6b8045e955 | ||
![]() |
ccee136e8c | ||
![]() |
96baf34521 | ||
![]() |
912e0a1617 | ||
![]() |
8eee70e8ee | ||
![]() |
1d44a056b9 | ||
![]() |
12186e8005 | ||
![]() |
9634b57b86 | ||
![]() |
256ff49887 | ||
![]() |
42fca7dc7d | ||
![]() |
519ab25773 | ||
![]() |
6c3b01d6a5 | ||
![]() |
d1fe8fcbb3 | ||
![]() |
0878df7673 | ||
![]() |
b5d0923199 | ||
![]() |
a09edd8478 | ||
![]() |
fe0bf55df2 | ||
![]() |
9bd1efb7d6 | ||
![]() |
4d283f61a5 | ||
![]() |
4b23e72a67 | ||
![]() |
8b22d0f4fc | ||
![]() |
0ac46bf246 | ||
![]() |
ffe57934b9 | ||
![]() |
8aee697fea | ||
![]() |
c30549724f | ||
![]() |
a9aaa9bfcf | ||
![]() |
5c1af20894 | ||
![]() |
704cf3e2af | ||
![]() |
3e96b08562 | ||
![]() |
65139a31ac | ||
![]() |
ddccfdb328 | ||
![]() |
2415cd8d57 | ||
![]() |
b3628f16a1 | ||
![]() |
b9a69ff3c5 | ||
![]() |
78241b550d | ||
![]() |
d745c36a31 | ||
![]() |
867876be63 | ||
![]() |
c2b825502c | ||
![]() |
acc28f0d3b | ||
![]() |
4ef562c1da | ||
![]() |
1071e51afd | ||
![]() |
bf7b2fb209 | ||
![]() |
669103a3bb | ||
![]() |
249e29642b | ||
![]() |
7f136d474e | ||
![]() |
2d261827e0 | ||
![]() |
ea6ae2f957 | ||
![]() |
7673d1f9a5 | ||
![]() |
ba5462eee7 | ||
![]() |
7936fcb5aa | ||
![]() |
bf21a86365 | ||
![]() |
22f0c2c895 | ||
![]() |
908dc45aed | ||
![]() |
74d2b9e665 | ||
![]() |
05a51246e3 | ||
![]() |
a526f5fa10 | ||
![]() |
bfdbc3771c | ||
![]() |
29a5311a70 | ||
![]() |
f472668dc6 | ||
![]() |
87e33f4ea0 | ||
![]() |
9f31b9f3db | ||
![]() |
0e422172cf | ||
![]() |
d319ab0c53 | ||
![]() |
1e1449f37e | ||
![]() |
ce6cc745b7 | ||
![]() |
e2dd48bc22 | ||
![]() |
47f20759c0 | ||
![]() |
81b3f4d1ca | ||
![]() |
9b50c12736 | ||
![]() |
b65758792e | ||
![]() |
b2a2542c2c | ||
![]() |
4e56e135c9 | ||
![]() |
dc42d6d36f | ||
![]() |
53d20b0745 | ||
![]() |
b1f0060e15 | ||
![]() |
3abec60b83 | ||
![]() |
c3f1d785e4 | ||
![]() |
59435c357f | ||
![]() |
435436d2ba | ||
![]() |
26c3e9f727 | ||
![]() |
1efd72f865 | ||
![]() |
efedce48ca | ||
![]() |
3aabb6a015 | ||
![]() |
b361d27493 | ||
![]() |
b500cef20d | ||
![]() |
ccd4214df5 | ||
![]() |
6ed4da67b8 | ||
![]() |
580e203105 | ||
![]() |
1b71d89194 | ||
![]() |
32048ca4e8 | ||
![]() |
9b8c953e1c | ||
![]() |
16197037e9 | ||
![]() |
62bad74793 | ||
![]() |
4f9b07241a | ||
![]() |
6bc538dc43 | ||
![]() |
3b733e6baa | ||
![]() |
1877e1cc9c | ||
![]() |
e87a215ff1 | ||
![]() |
e2aeb36ed1 | ||
![]() |
73c22e4e16 | ||
![]() |
444e7ca754 | ||
![]() |
586462785d | ||
![]() |
af7bcf8de1 | ||
![]() |
9f09586b67 | ||
![]() |
5953c1b38c | ||
![]() |
827e27895e | ||
![]() |
eb481f5531 | ||
![]() |
4218d34ab9 | ||
![]() |
761889f6f8 | ||
![]() |
746d33066a | ||
![]() |
213db71582 | ||
![]() |
d739e2cc35 | ||
![]() |
89788833f0 | ||
![]() |
80aa739ff5 | ||
![]() |
e9e0917f95 |
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
.direnv/
|
|
@ -1,77 +1,37 @@
|
||||||
{ config, pkgs, ... }: let
|
{pkgs, ...}: {
|
||||||
inherit (config.device) disks;
|
|
||||||
in{
|
|
||||||
imports = [
|
imports = [
|
||||||
./options.nix
|
./options.nix
|
||||||
./disks.nix
|
./disko.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.hostPlatform = "x86_64-linux";
|
nixpkgs.hostPlatform = "x86_64-linux";
|
||||||
|
|
||||||
networking.hostName = "ellaca";
|
networking = {
|
||||||
|
hostName = "ellaca";
|
||||||
|
domain = "twoneis.site";
|
||||||
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd = {
|
initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod"];
|
||||||
availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" ];
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
};
|
|
||||||
|
|
||||||
kernelModules = [ "kvm-amd" ];
|
|
||||||
kernelPackages = pkgs.linuxPackages_zen;
|
|
||||||
|
|
||||||
loader = {
|
loader = {
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
grub = {
|
grub = {
|
||||||
enable = true;
|
devices = ["/dev/sda"];
|
||||||
efiSupport = true;
|
efiSupport = true;
|
||||||
device = "nodev";
|
efiInstallAsRemovable = true;
|
||||||
useOSProber = true;
|
|
||||||
font = null;
|
|
||||||
splashImage = null;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems = {
|
|
||||||
"/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/${disks.boot}";
|
|
||||||
fsType = "vfat";
|
|
||||||
};
|
|
||||||
"/" = {
|
|
||||||
device = "/dev/disk/by-uuid/${disks.root}";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=root" "compress=zstd" "noatime" ];
|
|
||||||
};
|
|
||||||
"/nix" = {
|
|
||||||
device = "/dev/disk/by-uuid/${disks.root}";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=nix" "compress=zstd" "noatime" ];
|
|
||||||
};
|
|
||||||
"/ext" = {
|
|
||||||
device = "/dev/disk/by-uuid/${disks.ext}";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=ext" "compress=zstd" "noatime" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
xserver.videoDrivers = ["nvidia"];
|
btrfs.autoScrub = {
|
||||||
|
enable = true;
|
||||||
|
fileSystems = ["/"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
enableRedistributableFirmware = true;
|
enableRedistributableFirmware = true;
|
||||||
enableAllFirmware = true;
|
|
||||||
cpu.amd.updateMicrocode = true;
|
cpu.amd.updateMicrocode = true;
|
||||||
|
|
||||||
|
|
||||||
nvidia = {
|
|
||||||
modesetting.enable = true;
|
|
||||||
nvidiaSettings = false;
|
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta;
|
|
||||||
};
|
|
||||||
|
|
||||||
graphics = {
|
|
||||||
enable = true;
|
|
||||||
enable32Bit = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
54
devices/ellaca/disko.nix
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
{
|
||||||
|
disko.devices = {
|
||||||
|
disk = {
|
||||||
|
main = {
|
||||||
|
type = "disk";
|
||||||
|
device = "/dev/sda";
|
||||||
|
content = {
|
||||||
|
type = "gpt";
|
||||||
|
partitions = {
|
||||||
|
boot = {
|
||||||
|
size = "1M";
|
||||||
|
type = "EF02";
|
||||||
|
};
|
||||||
|
esp = {
|
||||||
|
priority = 1;
|
||||||
|
name = "BOOT";
|
||||||
|
size = "2G";
|
||||||
|
type = "EF00";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "vfat";
|
||||||
|
mountpoint = "/boot";
|
||||||
|
mountOptions = ["umask=0077"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
root = {
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "btrfs";
|
||||||
|
extraArgs = ["-f"]; # Override existing partition
|
||||||
|
subvolumes = {
|
||||||
|
"/root" = {
|
||||||
|
mountOptions = ["compress=zstd" "noatime"];
|
||||||
|
mountpoint = "/";
|
||||||
|
};
|
||||||
|
"/nix" = {
|
||||||
|
mountOptions = ["compress=zstd" "noatime"];
|
||||||
|
mountpoint = "/nix";
|
||||||
|
};
|
||||||
|
"/swap" = {
|
||||||
|
mountpoint = "/.swapvol";
|
||||||
|
swap = {
|
||||||
|
swapfile.size = "20M";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,7 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
device.disks = {
|
|
||||||
boot = "12CE-A600";
|
|
||||||
root = "b4a61b48-017f-4d16-ab05-d5c867f2ca6f";
|
|
||||||
ext = "3ed92a26-775a-4e39-ac1c-84b2822cd3dd";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,9 +1,63 @@
|
||||||
{ ... }: {
|
{...}: let
|
||||||
|
email-domain = "chpu.eu";
|
||||||
|
web-domain = "twoneis.site";
|
||||||
|
new-domain = "miraculous.place";
|
||||||
|
in {
|
||||||
conf = {
|
conf = {
|
||||||
apps.enable = true;
|
host = "server";
|
||||||
niri.enable = true;
|
nginx = {
|
||||||
|
domains = [
|
||||||
|
email-domain
|
||||||
|
web-domain
|
||||||
|
new-domain
|
||||||
|
];
|
||||||
|
email = "porkbun@${email-domain}";
|
||||||
|
};
|
||||||
|
|
||||||
stateVersion = "24.05";
|
email = {
|
||||||
hmStateVersion = "24.11";
|
enable = true;
|
||||||
|
domain = email-domain;
|
||||||
|
ports = {
|
||||||
|
local = 9000;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
website = {
|
||||||
|
enable = true;
|
||||||
|
domain = {
|
||||||
|
full = web-domain;
|
||||||
|
base = web-domain;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fedi = {
|
||||||
|
enable = true;
|
||||||
|
domain = {
|
||||||
|
full = "fedi.${web-domain}";
|
||||||
|
base = web-domain;
|
||||||
|
};
|
||||||
|
email = "akkoma@${email-domain}";
|
||||||
|
};
|
||||||
|
|
||||||
|
matrix = {
|
||||||
|
enable = true;
|
||||||
|
domain = {
|
||||||
|
full = "matrix.${web-domain}";
|
||||||
|
base = web-domain;
|
||||||
|
};
|
||||||
|
|
||||||
|
email = "matrix@${email-domain}";
|
||||||
|
};
|
||||||
|
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
domain = {
|
||||||
|
full = "git.${web-domain}";
|
||||||
|
base = web-domain;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
stateVersion = "25.05";
|
||||||
|
hmStateVersion = "25.05";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,23 +1,30 @@
|
||||||
{ lib, config, pkgs, ... }: let
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
inherit (lib) mkDefault;
|
inherit (lib) mkDefault;
|
||||||
inherit (config.device) disks;
|
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./disks.nix
|
|
||||||
./options.nix
|
./options.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
nixpkgs.hostPlatform = "x86_64-linux";
|
nixpkgs = {
|
||||||
|
hostPlatform = "x86_64-linux";
|
||||||
|
config = {
|
||||||
|
allowUnfree = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
networking.hostName = "inkvine";
|
networking.hostName = "inkvine";
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod" ];
|
availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod"];
|
||||||
luks.devices.root.device = "/dev/disk/by-uuid/${disks.crypt}";
|
luks.devices.root.device = "/dev/disk/by-label/CRYPT";
|
||||||
kernelModules = [ "amdgpu" ];
|
kernelModules = ["amdgpu"];
|
||||||
};
|
};
|
||||||
kernelPackages = pkgs.linuxPackages_zen;
|
kernelPackages = pkgs.linuxPackages_latest;
|
||||||
loader = {
|
loader = {
|
||||||
systemd-boot = {
|
systemd-boot = {
|
||||||
enable = mkDefault true;
|
enable = mkDefault true;
|
||||||
|
@ -29,18 +36,35 @@ in {
|
||||||
|
|
||||||
fileSystems = {
|
fileSystems = {
|
||||||
"/boot" = {
|
"/boot" = {
|
||||||
device = "/dev/disk/by-uuid/${disks.boot}";
|
device = "/dev/disk/by-label/BOOT";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
"/" = {
|
"/" = {
|
||||||
device = "/dev/disk/by-uuid/${disks.root}";
|
device = "/dev/disk/by-label/ROOT";
|
||||||
fsType = "ext4";
|
fsType = "btrfs";
|
||||||
|
options = ["subvol=root" "compress=zstd" "noatime"];
|
||||||
|
};
|
||||||
|
"/nix" = {
|
||||||
|
device = "/dev/disk/by-label/ROOT";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = ["subvol=nix" "compress=zstd" "noatime"];
|
||||||
|
neededForBoot = true;
|
||||||
|
};
|
||||||
|
"/swap" = {
|
||||||
|
device = "/dev/disk/by-label/ROOT";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = ["subvol=swap" "noatime"];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
swapDevices = [{device = "/swap/swapfile";}];
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
fwupd.enable = true;
|
fwupd.enable = true;
|
||||||
power-profiles-daemon.enable = true;
|
power-profiles-daemon.enable = true;
|
||||||
|
btrfs.autoScrub = {
|
||||||
|
enable = true;
|
||||||
|
fileSystems = ["/"];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware = {
|
hardware = {
|
||||||
|
|
57
devices/inkvine/disko.nix
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
{...}: {
|
||||||
|
disko.devices = {
|
||||||
|
disk = {
|
||||||
|
main = {
|
||||||
|
type = "disk";
|
||||||
|
device = "/dev/nvme0n1";
|
||||||
|
content = {
|
||||||
|
type = "gpt";
|
||||||
|
partitions = {
|
||||||
|
ESP = {
|
||||||
|
size = "1G";
|
||||||
|
type = "EF00";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "vfat";
|
||||||
|
mountpoint = "/boot";
|
||||||
|
mountOptions = ["umask=0077"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
luks = {
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "luks";
|
||||||
|
name = "crypted";
|
||||||
|
settings = {
|
||||||
|
allowDiscards = true;
|
||||||
|
};
|
||||||
|
content = {
|
||||||
|
type = "btrfs";
|
||||||
|
extraArgs = ["-f"];
|
||||||
|
subvolumes = {
|
||||||
|
"root" = {
|
||||||
|
mountpoint = "/";
|
||||||
|
mountOptions = ["compress=zstd" "noatime"];
|
||||||
|
};
|
||||||
|
"nix" = {
|
||||||
|
mountpoint = "/nix";
|
||||||
|
mountOptions = ["compress=zstd" "noatime"];
|
||||||
|
};
|
||||||
|
"persist" = {
|
||||||
|
mountpoint = "/persist";
|
||||||
|
mountOptions = ["compress=zstd" "noatime"];
|
||||||
|
};
|
||||||
|
"swap" = {
|
||||||
|
mountpoint = "/.swapvol";
|
||||||
|
swap.swapfile.size = "8G";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,7 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
device.disks = {
|
|
||||||
boot = "5BD3-FDE6";
|
|
||||||
crypt = "7171d4c2-fd27-45ed-b058-31bab14681e8";
|
|
||||||
root = "f2b17157-1e79-4a44-8349-e611c4768949";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,12 +1,10 @@
|
||||||
{ ... }: {
|
{...}: {
|
||||||
conf = {
|
conf = {
|
||||||
apps.enable = true;
|
host = "laptop";
|
||||||
niri.enable = true;
|
secureboot.enable = true;
|
||||||
games.enable = true;
|
yubikey.login = true;
|
||||||
extraLayout.enable = true;
|
|
||||||
vm.enable = false;
|
|
||||||
|
|
||||||
stateVersion = "24.05";
|
stateVersion = "24.11";
|
||||||
hmStateVersion = "24.11";
|
hmStateVersion = "24.11";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
{ config, pkgs, ... }: let
|
|
||||||
inherit (config.device) disks;
|
|
||||||
in {
|
|
||||||
imports = [
|
|
||||||
./options.nix
|
|
||||||
./disks.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = "x86_64-linux";
|
|
||||||
|
|
||||||
networking.hostName = "pleniscenta";
|
|
||||||
|
|
||||||
boot = {
|
|
||||||
initrd = {
|
|
||||||
availableKernelModules = [ "ahci" "xhci_pci" "ums_realtek" "usbhid" "usb_storage" "sd_mod" "sdhci_pci" ];
|
|
||||||
luks.devices.root.device = "/dev/disk/by-uuid/${disks.crypt}";
|
|
||||||
};
|
|
||||||
|
|
||||||
kernelModules = [ "kvm-intel" ];
|
|
||||||
kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
|
|
||||||
loader = {
|
|
||||||
systemd-boot = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
efi.canTouchEfiVariables = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems = {
|
|
||||||
"/boot" = {
|
|
||||||
device = "/dev/disk/by-uuid/${disks.boot}";
|
|
||||||
fsType = "vfat";
|
|
||||||
};
|
|
||||||
"/" = {
|
|
||||||
device = "/dev/disk/by-uuid/${disks.root}";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=root" "compress=zstd" "noatime" ];
|
|
||||||
};
|
|
||||||
"/nix" = {
|
|
||||||
device = "/dev/disk/by-uuid/${disks.root}";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=nix" "compress=zstd" "noatime" ];
|
|
||||||
};
|
|
||||||
"/persist" = {
|
|
||||||
device = "/dev/disk/by-uuid/${disks.root}";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=persist" "compress=zstd" "noatime" ];
|
|
||||||
};
|
|
||||||
"/swap" = {
|
|
||||||
device = "/dev/disk/by-uuid/${disks.root}";
|
|
||||||
fsType = "btrfs";
|
|
||||||
options = [ "subvol=swap" "noatime" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
swapDevices = [ { device = "/swap/swapfile"; } ];
|
|
||||||
|
|
||||||
services.thermald.enable = true;
|
|
||||||
|
|
||||||
hardware = {
|
|
||||||
enableRedistributableFirmware = true;
|
|
||||||
enableAllFirmware = true;
|
|
||||||
cpu.intel.updateMicrocode = true;
|
|
||||||
|
|
||||||
graphics = {
|
|
||||||
enable = true;
|
|
||||||
enable32Bit = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,7 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
device.disks = {
|
|
||||||
crypt = "470a6d23-9f08-4c4d-afbb-63d6df1ab6a6";
|
|
||||||
boot = "4A39-D0DF";
|
|
||||||
root = "75e6536a-4836-4f50-86b3-f9250edca3c0";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{ ... }: {
|
|
||||||
conf = {
|
|
||||||
stateVersion = "24.05";
|
|
||||||
hmStateVersion = "24.11";
|
|
||||||
};
|
|
||||||
}
|
|
468
flake.lock
generated
|
@ -1,18 +1,35 @@
|
||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"crane": {
|
"alejandra": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"fenix": "fenix",
|
||||||
|
"flakeCompat": "flakeCompat",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"lanzaboote",
|
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717535930,
|
"lastModified": 1730688725,
|
||||||
"narHash": "sha256-1hZ/txnbd/RmiBPNUs7i8UQw2N89uAK3UzrGAWdnFfU=",
|
"narHash": "sha256-g0SSfTWZ5mtMOpQic+eqq9sXMy1E/7yKxxfupZd9V4A=",
|
||||||
|
"owner": "kamadorueda",
|
||||||
|
"repo": "alejandra",
|
||||||
|
"rev": "2bb91e309ca99656addff5c74545acbf5813636d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "kamadorueda",
|
||||||
|
"ref": "3.1.0",
|
||||||
|
"repo": "alejandra",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"crane": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1731098351,
|
||||||
|
"narHash": "sha256-HQkYvKvaLQqNa10KEFGgWHfMAbWBfFp+4cAgkut+NNE=",
|
||||||
"owner": "ipetkov",
|
"owner": "ipetkov",
|
||||||
"repo": "crane",
|
"repo": "crane",
|
||||||
"rev": "55e7754ec31dac78980c8be45f8a28e80e370946",
|
"rev": "ef80ead953c1b28316cc3f8613904edc2eb90c28",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -21,6 +38,49 @@
|
||||||
"type": "github"
|
"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": [
|
||||||
|
"alejandra",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"rust-analyzer-src": "rust-analyzer-src"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730615655,
|
||||||
|
"narHash": "sha256-2HBR3zLn57LXKNRtxBb+O+uDqHM4n0pz51rPayMl4cg=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "fenix",
|
||||||
|
"rev": "efeb50e2535b17ffd4a135e6e3e5fd60a525180c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "fenix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -37,6 +97,21 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"flake-compat_2": {
|
||||||
|
"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-parts": {
|
"flake-parts": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": [
|
"nixpkgs-lib": [
|
||||||
|
@ -45,11 +120,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717285511,
|
"lastModified": 1730504689,
|
||||||
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
|
"narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
|
"rev": "506278e768c2a08bec68eb62932193e341f55c90",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -60,14 +135,17 @@
|
||||||
},
|
},
|
||||||
"flake-parts_2": {
|
"flake-parts_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": [
|
||||||
|
"nur",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1727826117,
|
"lastModified": 1733312601,
|
||||||
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=",
|
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1",
|
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -76,54 +154,19 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
"flakeCompat": {
|
||||||
"inputs": {
|
"flake": false,
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1696426674,
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
"owner": "numtide",
|
"owner": "edolstra",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-compat",
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "numtide",
|
"owner": "edolstra",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-compat",
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_2": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1726560853,
|
|
||||||
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flakey-profile": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1712898590,
|
|
||||||
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
|
|
||||||
"owner": "lf-",
|
|
||||||
"repo": "flakey-profile",
|
|
||||||
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "lf-",
|
|
||||||
"repo": "flakey-profile",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -156,11 +199,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728791962,
|
"lastModified": 1744380363,
|
||||||
"narHash": "sha256-nr5QiXwQcZmf6/auC1UpX8iAtINMtdi2mH+OkqJQVmU=",
|
"narHash": "sha256-cXjAUuAfQDPSLSsckZuTioQ986iqSPTzx8D7dLAcC+Q=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "64c6325b28ebd708653dd41d88f306023f296184",
|
"rev": "e43c6bcb101ba3301522439c459288c4a248f624",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -174,7 +217,6 @@
|
||||||
"crane": "crane",
|
"crane": "crane",
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
|
@ -182,58 +224,22 @@
|
||||||
"rust-overlay": "rust-overlay"
|
"rust-overlay": "rust-overlay"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718178907,
|
"lastModified": 1737639419,
|
||||||
"narHash": "sha256-eSZyrQ9uoPB9iPQ8Y5H7gAmAgAvCw3InStmU3oEjqsE=",
|
"narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "lanzaboote",
|
"repo": "lanzaboote",
|
||||||
"rev": "b627ccd97d0159214cee5c7db1412b75e4be6086",
|
"rev": "a65905a09e2c43ff63be8c0e86a93712361f871e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"ref": "v0.4.1",
|
"ref": "v0.4.2",
|
||||||
"repo": "lanzaboote",
|
"repo": "lanzaboote",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"lix": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils_2",
|
|
||||||
"flakey-profile": "flakey-profile",
|
|
||||||
"lix": "lix_2",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1727752861,
|
|
||||||
"narHash": "sha256-jowmo2aEzrEpPSM96IWtajuogdJm7DjAWxFTEb7Ct0s=",
|
|
||||||
"rev": "fd186f535a4ac7ae35d98c1dd5d79f0a81b7976d",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/fd186f535a4ac7ae35d98c1dd5d79f0a81b7976d.tar.gz?rev=fd186f535a4ac7ae35d98c1dd5d79f0a81b7976d"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"lix_2": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1727712632,
|
|
||||||
"narHash": "sha256-7kaZRZCWG8PmxwIDTVKjJo3VtAGDun7mqfAMlucQbdQ=",
|
|
||||||
"rev": "a16ceb9411c57993d811c6bebb517742fe3d34e3",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/a16ceb9411c57993d811c6bebb517742fe3d34e3.tar.gz?rev=a16ceb9411c57993d811c6bebb517742fe3d34e3"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://git.lix.systems/lix-project/lix/archive/main.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"niri": {
|
"niri": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts_2",
|
|
||||||
"niri-stable": "niri-stable",
|
"niri-stable": "niri-stable",
|
||||||
"niri-unstable": "niri-unstable",
|
"niri-unstable": "niri-unstable",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -244,11 +250,11 @@
|
||||||
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
"xwayland-satellite-unstable": "xwayland-satellite-unstable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728804056,
|
"lastModified": 1744381460,
|
||||||
"narHash": "sha256-56PIycP8j95LmZzcOKgcoNm4e7yvnjFz7+b4dxIDGKE=",
|
"narHash": "sha256-ay8Vijc8IuQiA+bMmKaKFy/2iTtvB9K7xqrirhnwivU=",
|
||||||
"owner": "sodiboo",
|
"owner": "sodiboo",
|
||||||
"repo": "niri-flake",
|
"repo": "niri-flake",
|
||||||
"rev": "1a782646d0ae5563d333095dfa3eadd756331e32",
|
"rev": "4e592d48fb54ed742fb1ab14972a11432b2cbc31",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -260,16 +266,16 @@
|
||||||
"niri-stable": {
|
"niri-stable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726304152,
|
"lastModified": 1740117926,
|
||||||
"narHash": "sha256-4YDrKMwXGVOBkeaISbxqf24rLuHvO98TnqxWYfgiSeg=",
|
"narHash": "sha256-mTTHA0RAaQcdYe+9A3Jx77cmmyLFHmRoZdd8RpWa+m8=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "6a48728ffb1e638839b07f9ab2f06b2adb41dc61",
|
"rev": "b94a5db8790339cf9134873d8b490be69e02ac71",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"ref": "v0.1.9",
|
"ref": "v25.02",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -277,11 +283,11 @@
|
||||||
"niri-unstable": {
|
"niri-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728716283,
|
"lastModified": 1744271375,
|
||||||
"narHash": "sha256-v6hhDJNLhdCiuFn6ic7D3lk/lk27+6OOzG213ikRu4w=",
|
"narHash": "sha256-W4h6ZX2WHJ6k0ApUTpuxkDPZ5JAI3MLWFP4lpfu3iv8=",
|
||||||
"owner": "YaLTeR",
|
"owner": "YaLTeR",
|
||||||
"repo": "niri",
|
"repo": "niri",
|
||||||
"rev": "33b39913c7121a6c7b112beb0e329c3e64e4f57a",
|
"rev": "df9466243504a00240f7048a1f9644cb002776a8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -290,13 +296,54 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nix-alien": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat_2",
|
||||||
|
"nix-index-database": "nix-index-database",
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1742038403,
|
||||||
|
"narHash": "sha256-mzZdujmFWC+wHRvm0tKUlXL0LLz3YI3EDUCnFCtzgxY=",
|
||||||
|
"owner": "thiagokokada",
|
||||||
|
"repo": "nix-alien",
|
||||||
|
"rev": "876d83ac35fc52145674282f87898824182edc48",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "thiagokokada",
|
||||||
|
"repo": "nix-alien",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-index-database": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nix-alien",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1741619381,
|
||||||
|
"narHash": "sha256-koZtlJRqi0/MD/AKd0KrXLA2NuBOVzlIyAJprjzpxZE=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-index-database",
|
||||||
|
"rev": "66537fb185462ba9b07f4e6f2d54894a1b2d04ab",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-index-database",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728729581,
|
"lastModified": 1744366945,
|
||||||
"narHash": "sha256-oazkQ/z7r43YkDLLQdMg8oIB3CwWNb+2ZrYOxtLEWTQ=",
|
"narHash": "sha256-OuLhysErPHl53BBifhesrRumJNhrlSgQDfYOTXfgIMg=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "a8dd1b21995964b115b1e3ec639dd6ce24ab9806",
|
"rev": "1fe3cc2bc5d2dc9c81cb4e63d2f67c1543340df1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -307,55 +354,27 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728492678,
|
"lastModified": 1741851582,
|
||||||
"narHash": "sha256-9UTxR8eukdg+XZeHgxW5hQA9fIKHsKCdOIUycTryeVw=",
|
"narHash": "sha256-cPfs8qMccim2RBgtKGF+x9IBCduRvd/N5F4nYpU0TVE=",
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5633bcff0c6162b9e4b5f1264264611e950c8ec7",
|
"rev": "6607cf789e541e7873d40d3a8f7815ea92204f32",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nixos",
|
"owner": "NixOS",
|
||||||
"ref": "nixos-unstable",
|
"ref": "nixos-unstable",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs-lib": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1727825735,
|
|
||||||
"narHash": "sha256-0xHYkMkeLVQAMa7gvkddbPqpxph+hDzdu1XdGPJR+Os=",
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"type": "tarball",
|
|
||||||
"url": "https://github.com/NixOS/nixpkgs/archive/fb192fec7cc7a4c26d51779e9bab07ce6fa5597a.tar.gz"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710695816,
|
"lastModified": 1730741070,
|
||||||
"narHash": "sha256-3Eh7fhEID17pv9ZxrPwCLfqXnYP006RKzSs0JptsN84=",
|
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "614b4613980a522ba49f0d194531beddbb7220d3",
|
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-23.11",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs-stable_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1728740863,
|
|
||||||
"narHash": "sha256-u+rxA79a0lyhG+u+oPBRtTDtzz8kvkc9a6SWSt9ekVc=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "a3f9ad65a0bf298ed5847629a57808b97e6e8077",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -365,13 +384,66 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nur": {
|
"nixpkgs-stable_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1728816488,
|
"lastModified": 1744309437,
|
||||||
"narHash": "sha256-LzHbTre1XBb8G6mOOMiVo0a18zEQn4FgL6Qkc0UlP/Y=",
|
"narHash": "sha256-QZnNHM823am8apCqKSPdtnzPGTy2ZB4zIXOVoBp5+W0=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "f9ebe33a928b5d529c895202263a5ce46bdf12f7",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-24.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1744232761,
|
||||||
|
"narHash": "sha256-gbl9hE39nQRpZaLjhWKmEu5ejtQsgI5TWYrIVVJn30U=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "f675531bc7e6657c10a18b565cfebd8aa9e24c14",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1744232761,
|
||||||
|
"narHash": "sha256-gbl9hE39nQRpZaLjhWKmEu5ejtQsgI5TWYrIVVJn30U=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "f675531bc7e6657c10a18b565cfebd8aa9e24c14",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nur": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-parts": "flake-parts_2",
|
||||||
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"treefmt-nix": "treefmt-nix"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1744383978,
|
||||||
|
"narHash": "sha256-lx1XXdOTRa5ntY6GbSlu+h0XqMFVptpDIm3r7LoFwO4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nur",
|
"repo": "nur",
|
||||||
"rev": "f4b5dd4bba09018564cbf60ddb4bdd5b5784e869",
|
"rev": "5b4559e4f4a968dac414504be84a135a7818cbce",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -394,11 +466,11 @@
|
||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717664902,
|
"lastModified": 1731363552,
|
||||||
"narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=",
|
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
|
||||||
"owner": "cachix",
|
"owner": "cachix",
|
||||||
"repo": "pre-commit-hooks.nix",
|
"repo": "pre-commit-hooks.nix",
|
||||||
"rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
|
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -409,32 +481,47 @@
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"alejandra": "alejandra",
|
||||||
|
"disko": "disko",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"lanzaboote": "lanzaboote",
|
"lanzaboote": "lanzaboote",
|
||||||
"lix": "lix",
|
|
||||||
"niri": "niri",
|
"niri": "niri",
|
||||||
|
"nix-alien": "nix-alien",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nur": "nur"
|
"nur": "nur"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rust-analyzer-src": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1730555913,
|
||||||
|
"narHash": "sha256-KNHZUlqsEibg3YtfUyOFQSofP8hp1HKoY+laoesBxRM=",
|
||||||
|
"owner": "rust-lang",
|
||||||
|
"repo": "rust-analyzer",
|
||||||
|
"rev": "f17a5bbfd0969ba2e63a74505a80e55ecb174ed9",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "rust-lang",
|
||||||
|
"ref": "nightly",
|
||||||
|
"repo": "rust-analyzer",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"rust-overlay": {
|
"rust-overlay": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": [
|
|
||||||
"lanzaboote",
|
|
||||||
"flake-utils"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"lanzaboote",
|
"lanzaboote",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1717813066,
|
"lastModified": 1731897198,
|
||||||
"narHash": "sha256-wqbRwq3i7g5EHIui0bIi84mdqZ/It1AXBSLJ5tafD28=",
|
"narHash": "sha256-Ou7vLETSKwmE/HRQz4cImXXJBr/k9gp4J4z/PF8LzTE=",
|
||||||
"owner": "oxalica",
|
"owner": "oxalica",
|
||||||
"repo": "rust-overlay",
|
"repo": "rust-overlay",
|
||||||
"rev": "6dc3e45fe4aee36efeed24d64fc68b1f989d5465",
|
"rev": "0be641045af6d8666c11c2c40e45ffc9667839b5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -443,49 +530,40 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"treefmt-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nur",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1681028828,
|
"lastModified": 1733222881,
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
||||||
"owner": "nix-systems",
|
"owner": "numtide",
|
||||||
"repo": "default",
|
"repo": "treefmt-nix",
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-systems",
|
"owner": "numtide",
|
||||||
"repo": "default",
|
"repo": "treefmt-nix",
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"xwayland-satellite-stable": {
|
"xwayland-satellite-stable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718165778,
|
"lastModified": 1739246919,
|
||||||
"narHash": "sha256-dwF9nI54a6Fo9XU5s4qmvMXSgCid3YQVGxch00qEMvI=",
|
"narHash": "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "b6d281967cb0b7bf1dfdb8d0f597b517dc4aa5c5",
|
"rev": "44590a416d4a3e8220e19e29e0b6efe64a80315d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"ref": "v0.4",
|
"ref": "v0.5.1",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
|
@ -493,11 +571,11 @@
|
||||||
"xwayland-satellite-unstable": {
|
"xwayland-satellite-unstable": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1726378112,
|
"lastModified": 1743346993,
|
||||||
"narHash": "sha256-OANPb73V/RQDqtpIcbzeJ93KuOHKFQv+1xXC44Ut7tY=",
|
"narHash": "sha256-i7rWd/5BcqLgQEtB5L/6gKN5R5GUJcmm34F+iBivH60=",
|
||||||
"owner": "Supreeeme",
|
"owner": "Supreeeme",
|
||||||
"repo": "xwayland-satellite",
|
"repo": "xwayland-satellite",
|
||||||
"rev": "b962a0f33b503aa39c9cf6919f488b664e5b79b4",
|
"rev": "45c055696437a08e3989d9b91d9c617b84cc2bc3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
21
flake.nix
|
@ -4,20 +4,25 @@
|
||||||
url = "github:nixos/nixpkgs/nixos-unstable";
|
url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
};
|
};
|
||||||
|
|
||||||
lix = {
|
|
||||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
alejandra = {
|
||||||
|
url = "github:kamadorueda/alejandra/3.1.0";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
nixos-hardware = {
|
nixos-hardware = {
|
||||||
url = "github:nixos/nixos-hardware";
|
url = "github:nixos/nixos-hardware";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
disko = {
|
||||||
|
url = "github:nix-community/disko/latest";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
nur = {
|
nur = {
|
||||||
url = "github:nix-community/nur";
|
url = "github:nix-community/nur";
|
||||||
};
|
};
|
||||||
|
@ -28,9 +33,13 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
lanzaboote = {
|
lanzaboote = {
|
||||||
url = "github:nix-community/lanzaboote/v0.4.1";
|
url = "github:nix-community/lanzaboote/v0.4.2";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
nix-alien = {
|
||||||
|
url = "github:thiagokokada/nix-alien";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs: import ./outputs.nix inputs;
|
outputs = inputs: import ./outputs.nix inputs;
|
||||||
|
|
BIN
icons/button/button-large.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
icons/button/button.ase
Normal file
BIN
icons/button/button.png
Normal file
After Width: | Height: | Size: 687 B |
BIN
icons/favicon/favicon.ase
Normal file
BIN
icons/favicon/favicon.png
Normal file
After Width: | Height: | Size: 339 B |
BIN
icons/mira/mira-large.png
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
icons/mira/mira.ase
Normal file
BIN
icons/mira/mira.png
Normal file
After Width: | Height: | Size: 470 B |
|
@ -1,4 +1,4 @@
|
||||||
{ config, ... }: let
|
config: let
|
||||||
inherit (config) theme;
|
inherit (config) theme;
|
||||||
in {
|
in {
|
||||||
# Rose Pine
|
# Rose Pine
|
||||||
|
|
14
modules/apps/cursor.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
runCommand,
|
||||||
|
fetchzip,
|
||||||
|
name ? "BreezX-Rosepine-Cursor",
|
||||||
|
version,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
runCommand "rosepine-cursor" {} ''
|
||||||
|
mkdir -p $out/share/icons
|
||||||
|
ln -s ${fetchzip {
|
||||||
|
url = "https://github.com/rose-pine/cursor/releases/download/v${version.version}/BreezeX-RosePine-Linux.tar.xz";
|
||||||
|
hash = version.hash;
|
||||||
|
}} $out/share/icons/${name}
|
||||||
|
''
|
|
@ -1,26 +1,45 @@
|
||||||
{ lib, config, pkgs, ... }: let
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
inherit (lib) mkIf mkForce;
|
inherit (lib) mkIf mkForce;
|
||||||
inherit (config) conf;
|
inherit (config) conf versions;
|
||||||
in {
|
time = pkgs.makeDesktopItem {
|
||||||
imports = [
|
name = "peaclock-desktop";
|
||||||
./media.nix
|
desktopName = "Time";
|
||||||
./notes.nix
|
exec = "alacritty -e ${pkgs.peaclock}/bin/peaclock";
|
||||||
./programs.nix
|
};
|
||||||
./themes.nix
|
in
|
||||||
];
|
mkIf (conf.host != "server") {
|
||||||
|
|
||||||
config = mkIf conf.apps.enable {
|
|
||||||
# Audio
|
# Audio
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
services.pipewire = {
|
services = {
|
||||||
enable = true;
|
pipewire = {
|
||||||
alsa.enable = true;
|
enable = true;
|
||||||
alsa.support32Bit = true;
|
alsa.enable = true;
|
||||||
pulse.enable = true;
|
alsa.support32Bit = true;
|
||||||
jack.enable = mkForce false;
|
pulse.enable = true;
|
||||||
|
jack.enable = mkForce false;
|
||||||
|
|
||||||
|
extraConfig.pipewire = {
|
||||||
|
"90-hifi" = {
|
||||||
|
"context.properties" = {
|
||||||
|
"default.clock.rate" = 384000;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# Needed for some features in nautilus such as auto-mounting and trash
|
||||||
|
gvfs.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Run statically linked and more
|
||||||
|
environment.systemPackages = [pkgs.nix-alien];
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
# Bluetooth
|
# Bluetooth
|
||||||
hardware.bluetooth = {
|
hardware.bluetooth = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -33,10 +52,12 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
hardware.opentabletdriver.enable = true;
|
||||||
|
|
||||||
# Regularly clean download folder
|
# Regularly clean download folder
|
||||||
systemd = {
|
systemd = {
|
||||||
timers."clean-download" = {
|
timers."clean-download" = {
|
||||||
wantedBy = [ "timers.target" ];
|
wantedBy = ["timers.target"];
|
||||||
timerConfig = {
|
timerConfig = {
|
||||||
OnCalendar = "*-*-* 03:00:00";
|
OnCalendar = "*-*-* 03:00:00";
|
||||||
Unit = "clean-download.service";
|
Unit = "clean-download.service";
|
||||||
|
@ -55,5 +76,119 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
services.blueman.enable = true;
|
services.blueman.enable = true;
|
||||||
};
|
|
||||||
}
|
home-manager.users.${conf.username} = {
|
||||||
|
home = {
|
||||||
|
packages = with pkgs;
|
||||||
|
[
|
||||||
|
adwaita-icon-theme
|
||||||
|
adwaita-qt
|
||||||
|
adwaita-qt6
|
||||||
|
|
||||||
|
loupe
|
||||||
|
spotify
|
||||||
|
amberol
|
||||||
|
snapshot
|
||||||
|
papers
|
||||||
|
|
||||||
|
nautilus
|
||||||
|
gnome-disk-utility
|
||||||
|
fragments
|
||||||
|
|
||||||
|
krita
|
||||||
|
gimp
|
||||||
|
inkscape
|
||||||
|
libresprite
|
||||||
|
tor-browser
|
||||||
|
chromium
|
||||||
|
libreoffice-qt6
|
||||||
|
prusa-slicer
|
||||||
|
ghidra
|
||||||
|
peaclock
|
||||||
|
(cutter.withPlugins (ps:
|
||||||
|
with ps; [
|
||||||
|
jsdec
|
||||||
|
sigdb
|
||||||
|
rz-ghidra
|
||||||
|
]))
|
||||||
|
|
||||||
|
signal-desktop
|
||||||
|
vesktop
|
||||||
|
element-desktop
|
||||||
|
fractal
|
||||||
|
]
|
||||||
|
++ [
|
||||||
|
time
|
||||||
|
];
|
||||||
|
|
||||||
|
file = {
|
||||||
|
".config/vesktop/settings.json" = {
|
||||||
|
source = ./vesktop.conf.json;
|
||||||
|
};
|
||||||
|
".config/vesktop/settings/settings.json" = {
|
||||||
|
source = ./vencord.conf.json;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
pointerCursor = rec {
|
||||||
|
gtk.enable = true;
|
||||||
|
x11.enable = true;
|
||||||
|
name = "BreezX-RosePine-Linux";
|
||||||
|
size = 24;
|
||||||
|
package = pkgs.callPackage ./cursor.nix {
|
||||||
|
name = name;
|
||||||
|
version = versions.rosepine-cursor;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
qt = {
|
||||||
|
enable = true;
|
||||||
|
platformTheme.name = "adwaita";
|
||||||
|
style.name = "adwaita-dark";
|
||||||
|
};
|
||||||
|
|
||||||
|
gtk = {
|
||||||
|
enable = true;
|
||||||
|
gtk4.extraConfig = {
|
||||||
|
gtk-application-prefer-dark-theme = true;
|
||||||
|
};
|
||||||
|
gtk3.extraConfig = {
|
||||||
|
gtk-application-prefer-dark-theme = true;
|
||||||
|
};
|
||||||
|
gtk2.extraConfig = "gtk-application-prefer-dark-theme=1\n";
|
||||||
|
theme.name = "Adwaita Dark";
|
||||||
|
};
|
||||||
|
|
||||||
|
dconf = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
"org/gnome/desktop/interface" = {
|
||||||
|
color-scheme = "prefer-dark";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
firefox = import ./firefox.conf.nix pkgs;
|
||||||
|
|
||||||
|
thunderbird = {
|
||||||
|
enable = true;
|
||||||
|
profiles = {
|
||||||
|
"default" = {
|
||||||
|
isDefault = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mpv.enable = true;
|
||||||
|
|
||||||
|
pandoc.enable = true;
|
||||||
|
|
||||||
|
alacritty = {
|
||||||
|
enable = true;
|
||||||
|
settings = import ./alacritty.conf.nix config;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
227
modules/apps/firefox.conf.nix
Normal file
|
@ -0,0 +1,227 @@
|
||||||
|
pkgs: {
|
||||||
|
enable = true;
|
||||||
|
profiles = {
|
||||||
|
"default" = {
|
||||||
|
id = 0;
|
||||||
|
|
||||||
|
search = {
|
||||||
|
default = "duckduckgo";
|
||||||
|
privateDefault = "duckduckgo";
|
||||||
|
engines = {
|
||||||
|
"ddg".metaData.hidden = true;
|
||||||
|
"google".metaData.hidden = true;
|
||||||
|
"amazondotcom-us".metaData.hidden = true;
|
||||||
|
"bing".metaData.hidden = true;
|
||||||
|
"wikipedia".metaData.hidden = true;
|
||||||
|
duckduckgo = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://duckduckgo.com/";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "q";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@ddg"];
|
||||||
|
};
|
||||||
|
google = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://google.com/search";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "q";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@g"];
|
||||||
|
};
|
||||||
|
wikipedia = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://en.wikipedia.org/wiki/Special:Search";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "search";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@wiki"];
|
||||||
|
};
|
||||||
|
youtube = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://youtube.com/results";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "search_query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@yt"];
|
||||||
|
};
|
||||||
|
nix-packages = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://search.nixos.org/packages";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "channel";
|
||||||
|
value = "unstable";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "type";
|
||||||
|
value = "packages";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@np"];
|
||||||
|
};
|
||||||
|
nix-options = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://search.nixos.org/options";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "channel";
|
||||||
|
value = "unstable";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "type";
|
||||||
|
value = "packages";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "query";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@no"];
|
||||||
|
};
|
||||||
|
nix-wiki = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://wiki.nixos.org/w/index.php";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "search";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@nw"];
|
||||||
|
};
|
||||||
|
arch-wiki = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://wiki.archlinux.org/index.php";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "search";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "fulltext";
|
||||||
|
value = "1";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@aw"];
|
||||||
|
};
|
||||||
|
github = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
template = "https://github.com/search";
|
||||||
|
params = [
|
||||||
|
{
|
||||||
|
name = "q";
|
||||||
|
value = "{searchTerms}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name = "type";
|
||||||
|
value = "repositories";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
definedAliases = ["@gh"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
force = true;
|
||||||
|
order = [
|
||||||
|
"duckduckgo"
|
||||||
|
"google"
|
||||||
|
"wikipedia"
|
||||||
|
"youtube"
|
||||||
|
"nix-packages"
|
||||||
|
"nix-options"
|
||||||
|
"nix-wiki"
|
||||||
|
"arch-wiki"
|
||||||
|
"github"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
bookmarks = {
|
||||||
|
force = true;
|
||||||
|
settings = [];
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
"browser.aboutConfig.showWarning" = false;
|
||||||
|
"browser.bookmarks.addedImportButton" = false;
|
||||||
|
"browser.link.open_newwindow" = 2;
|
||||||
|
"browser.newtabpage.enabled" = false;
|
||||||
|
"browser.preferences.moreFromMozilla" = false;
|
||||||
|
"browser.shell.checkDefaultBrowser" = false;
|
||||||
|
"browser.startup.blankWindow" = true;
|
||||||
|
"browser.startup.page" = 3;
|
||||||
|
"browser.tabs.closeWindowWithLastTab" = true;
|
||||||
|
"browser.tabs.opentabfor.middleclick" = false;
|
||||||
|
"browser.toolbars.bookmarks.visibility" = "never";
|
||||||
|
"browser.translation.enable" = false;
|
||||||
|
"dom.security.https_only_mode" = true;
|
||||||
|
"extensions.pocket.enabled" = false;
|
||||||
|
"gfx.webrender.all" = true;
|
||||||
|
"identity.fxaccounts.enabled" = false;
|
||||||
|
"media.cache_readhead_limit" = 9999;
|
||||||
|
"media.cache_resume_threshold" = 9999;
|
||||||
|
"medai.ffmpeg.vaapi.enabled" = true;
|
||||||
|
"media.videocontrols.picture-in-picture.enabled" = false;
|
||||||
|
"signon.rememberSignons" = false;
|
||||||
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
||||||
|
bitwarden
|
||||||
|
sponsorblock
|
||||||
|
ublock-origin
|
||||||
|
pronoundb
|
||||||
|
youtube-nonstop
|
||||||
|
enhancer-for-youtube
|
||||||
|
firefox-color
|
||||||
|
purpleadblock
|
||||||
|
];
|
||||||
|
|
||||||
|
userChrome = ''
|
||||||
|
#TabsToolbar-customization-target { visibility: collapse !important; }
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,152 +0,0 @@
|
||||||
{ inputs, lib, config, pkgs, ... }: let
|
|
||||||
inherit (lib) mkIf;
|
|
||||||
inherit (config) conf;
|
|
||||||
in mkIf conf.apps.enable {
|
|
||||||
nixpkgs.overlays = [ inputs.nur.overlay ];
|
|
||||||
home-manager.users.${conf.username} = {
|
|
||||||
programs.firefox = {
|
|
||||||
enable = true;
|
|
||||||
profiles = {
|
|
||||||
"default" = {
|
|
||||||
id = 0;
|
|
||||||
|
|
||||||
search = {
|
|
||||||
default = "DuckDuckGoo";
|
|
||||||
privateDefault = "DuckDuckGoo";
|
|
||||||
engines = {
|
|
||||||
"DuckDuckGo".metaData.hidden = true;
|
|
||||||
"Google".metaData.hidden = true;
|
|
||||||
"Amazon.com".metaData.hidden = true;
|
|
||||||
"Bing".metaData.hidden = true;
|
|
||||||
"Wikipedia (en)".metaData.hidden = true;
|
|
||||||
"DuckDuckGoo" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://duckduckgo.com/";
|
|
||||||
params = [
|
|
||||||
{ name = "q"; value = "{searchTerms}"; }
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
definedAliases = [ "@ddg" ];
|
|
||||||
};
|
|
||||||
"Googlee" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://google.com/search";
|
|
||||||
params = [
|
|
||||||
{ name = "q"; value = "{searchTerms}"; }
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
definedAliases = [ "@g" ];
|
|
||||||
};
|
|
||||||
"Wikipedia" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://en.wikipedia.org/wiki/Special:Search";
|
|
||||||
params = [
|
|
||||||
{ name = "search"; value = "{searchTerms}"; }
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
definedAliases = [ "@wiki" ];
|
|
||||||
};
|
|
||||||
"YouTube" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://youtube.com/results";
|
|
||||||
params = [
|
|
||||||
{ name = "search_query"; value = "{searchTerms}"; }
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
definedAliases = [ "@yt" ];
|
|
||||||
};
|
|
||||||
"Nix Packages" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://search.nixos.org/packages";
|
|
||||||
params = [
|
|
||||||
{ name = "channel"; value = "unstable"; }
|
|
||||||
{ name = "type"; value = "packages"; }
|
|
||||||
{ name = "query"; value = "{searchTerms}"; }
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
definedAliases = [ "@np" ];
|
|
||||||
};
|
|
||||||
"Nix Options" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://search.nixos.org/options";
|
|
||||||
params = [
|
|
||||||
{ name = "channel"; value = "unstable"; }
|
|
||||||
{ name = "type"; value = "packages"; }
|
|
||||||
{ name = "query"; value = "{searchTerms}"; }
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
definedAliases = [ "@no" ];
|
|
||||||
};
|
|
||||||
"Arch Wiki" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://wiki.archlinux.org/index.php";
|
|
||||||
params = [
|
|
||||||
{ name = "search"; value = "{searchTerms}"; }
|
|
||||||
{ name = "fulltext"; value = "1"; }
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
definedAliases = [ "@aw" ];
|
|
||||||
};
|
|
||||||
"Github" = {
|
|
||||||
urls = [{
|
|
||||||
template = "https://github.com/search";
|
|
||||||
params = [
|
|
||||||
{ name = "q"; value = "{searchTerms}"; }
|
|
||||||
{ name = "type"; value = "repositories"; }
|
|
||||||
];
|
|
||||||
}];
|
|
||||||
definedAliases = [ "@gh" ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
force = true;
|
|
||||||
order = [
|
|
||||||
"DuckDuckGoo"
|
|
||||||
"Googlee"
|
|
||||||
"Wikipedia"
|
|
||||||
"YouTube"
|
|
||||||
"Nix Packages"
|
|
||||||
"Nix Options"
|
|
||||||
"Arch Wiki"
|
|
||||||
"Github"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
bookmarks = { };
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
"browser.aboutConfig.showWarning" = false;
|
|
||||||
"browser.bookmarks.addedImportButton" = false;
|
|
||||||
"browser.newtabpage.enabled" = false;
|
|
||||||
"browser.preferences.moreFromMozilla" = false;
|
|
||||||
"browser.shell.checkDefaultBrowser" = false;
|
|
||||||
"browser.startup.blankWindow" = true;
|
|
||||||
"browser.startup.page" = 3;
|
|
||||||
"browser.tabs.closeWindowWithLastTab" = false;
|
|
||||||
"browser.toolbars.bookmarks.visibility" = "never";
|
|
||||||
"browser.translation.enable" = false;
|
|
||||||
"dom.security.https_only_mode" = true;
|
|
||||||
"extensions.pocket.enabled" = false;
|
|
||||||
"gfx.webrender.all" = true;
|
|
||||||
"identity.fxaccounts.enabled" = false;
|
|
||||||
"media.cache_readhead_limit" = 9999;
|
|
||||||
"media.cache_resume_threshold" = 9999;
|
|
||||||
"medai.ffmpeg.vaapi.enabled" = true;
|
|
||||||
"media.videocontrols.picture-in-picture.enabled" = false;
|
|
||||||
"signon.rememberSignons" = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
extensions = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
||||||
bitwarden
|
|
||||||
sponsorblock
|
|
||||||
ublock-origin
|
|
||||||
pronoundb
|
|
||||||
youtube-nonstop
|
|
||||||
enhancer-for-youtube
|
|
||||||
firefox-color
|
|
||||||
purpleadblock
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
{ config, lib, pkgs, ... }: let
|
|
||||||
inherit (lib) mkIf;
|
|
||||||
inherit (config) conf;
|
|
||||||
in mkIf conf.apps.enable {
|
|
||||||
|
|
||||||
home-manager.users.${conf.username} = {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
loupe
|
|
||||||
spotify
|
|
||||||
amberol
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.mpv = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,25 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }: let
|
|
||||||
inherit (lib) mkIf;
|
|
||||||
inherit (config) conf;
|
|
||||||
inherit (config.conf) keys;
|
|
||||||
in mkIf conf.apps.enable {
|
|
||||||
home-manager.users.${conf.username} = {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
rnote
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.sioyek = {
|
|
||||||
enable = true;
|
|
||||||
bindings = {
|
|
||||||
"move_up" = keys.up;
|
|
||||||
"move_down" = keys.down;
|
|
||||||
"move_left" = keys.left;
|
|
||||||
"move_right" = keys.right;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.fish.shellAbbrs = {
|
|
||||||
pdf = "sioyek";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,57 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }: let
|
|
||||||
inherit (lib) mkIf;
|
|
||||||
inherit (config) conf;
|
|
||||||
mkXwlWrapper = import ../niri/xwl-wrapper.nix;
|
|
||||||
in {
|
|
||||||
imports = [
|
|
||||||
./firefox.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
config = mkIf conf.apps.enable {
|
|
||||||
services = {
|
|
||||||
# Needed for some features in nautilus such as auto-mounting and trash
|
|
||||||
gvfs.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home-manager.users.${conf.username} = {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
signal-desktop
|
|
||||||
vesktop
|
|
||||||
fractal
|
|
||||||
snapshot
|
|
||||||
nautilus
|
|
||||||
libreoffice-qt6-fresh
|
|
||||||
inkscape
|
|
||||||
blender
|
|
||||||
# freecad -- broken dependency
|
|
||||||
] ++ [(mkXwlWrapper { lib = lib; pkgs = pkgs; app = "${pkgs.prusa-slicer}/bin/prusa-slicer"; name = "Prusa"; })];
|
|
||||||
|
|
||||||
home.file = {
|
|
||||||
".config/vesktop/settings.json" = {
|
|
||||||
source = ./vesktop.conf.json;
|
|
||||||
};
|
|
||||||
".config/vesktop/settings/settings.json" = {
|
|
||||||
source = ./vencord.conf.json;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.pandoc = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.thunderbird = {
|
|
||||||
enable = true;
|
|
||||||
profiles = {
|
|
||||||
"default" = {
|
|
||||||
isDefault = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs.alacritty = {
|
|
||||||
enable = true;
|
|
||||||
settings = import ./alacritty.conf.nix { config = config; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,53 +0,0 @@
|
||||||
{ lib, config, pkgs, ... }: let
|
|
||||||
inherit (lib) mkIf;
|
|
||||||
inherit (config) conf;
|
|
||||||
in mkIf conf.apps.enable {
|
|
||||||
home-manager.users.${conf.username} = {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
adwaita-icon-theme
|
|
||||||
adwaita-qt
|
|
||||||
adwaita-qt6
|
|
||||||
];
|
|
||||||
|
|
||||||
qt = {
|
|
||||||
enable = true;
|
|
||||||
platformTheme.name = "adwaita";
|
|
||||||
style.name = "adwaita-dark";
|
|
||||||
};
|
|
||||||
|
|
||||||
gtk = {
|
|
||||||
enable = true;
|
|
||||||
gtk4.extraConfig = {
|
|
||||||
gtk-application-prefer-dark-theme = true;
|
|
||||||
};
|
|
||||||
gtk3.extraConfig = {
|
|
||||||
gtk-application-prefer-dark-theme = true;
|
|
||||||
};
|
|
||||||
gtk2.extraConfig = "gtk-application-prefer-dark-theme=1\n";
|
|
||||||
theme.name = "Adwaita Dark";
|
|
||||||
};
|
|
||||||
|
|
||||||
dconf = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
"org/gnome/desktop/interface" = {
|
|
||||||
color-scheme = "prefer-dark";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
home.pointerCursor = let getFrom = url: hash: name: {
|
|
||||||
gtk.enable = true;
|
|
||||||
x11.enable = true;
|
|
||||||
name = name;
|
|
||||||
size = 24;
|
|
||||||
package = pkgs.runCommand "moveUp" {} ''
|
|
||||||
mkdir -p $out/share/icons
|
|
||||||
ln -s ${pkgs.fetchzip{
|
|
||||||
url = url;
|
|
||||||
hash = hash;
|
|
||||||
}} $out/share/icons/${name}
|
|
||||||
'';
|
|
||||||
}; in getFrom "https://github.com/rose-pine/cursor/releases/download/v1.1.0/BreezeX-RosePine-Linux.tar.xz" "sha256-t5xwAPGhuQUfGThedLsmtZEEp1Ljjo3Udhd5Ql3O67c=" "BreezX-RosePine-Linux";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -3,7 +3,7 @@
|
||||||
"autoUpdateNotification": true,
|
"autoUpdateNotification": true,
|
||||||
"useQuickCss": true,
|
"useQuickCss": true,
|
||||||
"themeLinks": [
|
"themeLinks": [
|
||||||
"https://raw.githubusercontent.com/rose-pine/discord/main/rose-pine.theme.css"
|
"https://raw.githubusercontent.com/rose-pine/discord/refs/heads/main/rose-pine.theme.css"
|
||||||
],
|
],
|
||||||
"enabledThemes": [],
|
"enabledThemes": [],
|
||||||
"enableReactDevtools": false,
|
"enableReactDevtools": false,
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
{ lib, config, pkgs, ... }: let
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
inherit (config) conf;
|
cfg = config.conf.containers;
|
||||||
in mkIf conf.containers.enable {
|
in
|
||||||
virtualisation.podman = {
|
mkIf cfg.enable {
|
||||||
enable = true;
|
virtualisation.podman = {
|
||||||
dockerCompat = true;
|
enable = true;
|
||||||
};
|
dockerCompat = true;
|
||||||
|
};
|
||||||
environment.systemPackages = [ pkgs.distrobox ];
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -1,19 +1,28 @@
|
||||||
{ config, ... }: let
|
{config, ...}: let
|
||||||
inherit (config) conf;
|
inherit (config) conf;
|
||||||
in {
|
in {
|
||||||
imports = [
|
imports = [
|
||||||
./apps
|
./apps
|
||||||
./containers
|
./containers
|
||||||
|
./email
|
||||||
|
./fedi
|
||||||
|
./firewall
|
||||||
./fonts
|
./fonts
|
||||||
./games
|
./games
|
||||||
|
./git
|
||||||
./home
|
./home
|
||||||
./layout
|
./layout
|
||||||
|
./matrix
|
||||||
./networking
|
./networking
|
||||||
|
./nginx
|
||||||
./niri
|
./niri
|
||||||
./nix
|
./nix
|
||||||
./secureboot
|
./secureboot
|
||||||
|
./ssh
|
||||||
./utils
|
./utils
|
||||||
./vm
|
./vm
|
||||||
|
./website
|
||||||
|
./yubikey
|
||||||
];
|
];
|
||||||
|
|
||||||
documentation.nixos.enable = false;
|
documentation.nixos.enable = false;
|
||||||
|
@ -23,14 +32,10 @@ in {
|
||||||
defaultLocale = "en_US.UTF-8";
|
defaultLocale = "en_US.UTF-8";
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.${conf.username}= {
|
users.users.${conf.username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = conf.username;
|
description = conf.username;
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
extraGroups = ["wheel"];
|
||||||
};
|
|
||||||
|
|
||||||
hardware.opentabletdriver = {
|
|
||||||
enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = conf.stateVersion;
|
system.stateVersion = conf.stateVersion;
|
||||||
|
|
110
modules/email/default.nix
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
inherit (lib.lists) forEach;
|
||||||
|
cfg = config.conf.email;
|
||||||
|
in
|
||||||
|
mkIf cfg.enable {
|
||||||
|
services.nginx = {
|
||||||
|
virtualHosts.${cfg.domain} = {
|
||||||
|
serverName = cfg.domain;
|
||||||
|
serverAliases =
|
||||||
|
forEach ["mail" "webadmin" "autoconfig" "autodiscover"]
|
||||||
|
(sub: "${sub}.${cfg.domain}");
|
||||||
|
forceSSL = true;
|
||||||
|
useACMEHost = cfg.domain;
|
||||||
|
locations = {
|
||||||
|
"/" = {
|
||||||
|
proxyPass = "http://localhost:${toString cfg.ports.local}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users."stalwart-mail".extraGroups = ["nginx"];
|
||||||
|
|
||||||
|
services.stalwart-mail = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
settings = {
|
||||||
|
server = {
|
||||||
|
hostname = cfg.domain;
|
||||||
|
tls = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
listener = {
|
||||||
|
smtp = {
|
||||||
|
protocol = "smtp";
|
||||||
|
bind = ["[::]:25"];
|
||||||
|
};
|
||||||
|
lmtp = {
|
||||||
|
protocol = "lmtp";
|
||||||
|
bind = ["[::]:24"];
|
||||||
|
};
|
||||||
|
jmap = {
|
||||||
|
protocol = "http";
|
||||||
|
bind = ["[::]:8080"];
|
||||||
|
tls.implicit = true;
|
||||||
|
};
|
||||||
|
imap = {
|
||||||
|
protocol = "imap";
|
||||||
|
bind = ["[::]:143"];
|
||||||
|
};
|
||||||
|
imaps = {
|
||||||
|
protocol = "imap";
|
||||||
|
bind = ["[::]:993"];
|
||||||
|
tls.implicit = true;
|
||||||
|
};
|
||||||
|
submission = {
|
||||||
|
protocol = "smtp";
|
||||||
|
bind = ["[::]:587"];
|
||||||
|
};
|
||||||
|
submissions = {
|
||||||
|
protocol = "smtp";
|
||||||
|
bind = ["[::]:465"];
|
||||||
|
tls.implicit = true;
|
||||||
|
};
|
||||||
|
management = {
|
||||||
|
protocol = "http";
|
||||||
|
bind = "127.0.0.1:${toString cfg.ports.local}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
lookup.default = {
|
||||||
|
hostname = cfg.domain;
|
||||||
|
domain = cfg.domain;
|
||||||
|
};
|
||||||
|
certificate.default = {
|
||||||
|
default = true;
|
||||||
|
cert = "%{file:/var/lib/acme/${cfg.domain}/cert.pem}%";
|
||||||
|
private-key = "%{file:/var/lib/acme/${cfg.domain}/key.pem}%";
|
||||||
|
};
|
||||||
|
storage = {
|
||||||
|
data = "db";
|
||||||
|
fts = "db";
|
||||||
|
block = "db";
|
||||||
|
lookup = "db";
|
||||||
|
directory = "internal";
|
||||||
|
};
|
||||||
|
directory."internal" = {
|
||||||
|
type = "internal";
|
||||||
|
store = "db";
|
||||||
|
};
|
||||||
|
tracer."stdout" = {
|
||||||
|
type = "stdout";
|
||||||
|
level = "info";
|
||||||
|
ansi = false;
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
session.rcpt = {
|
||||||
|
directory = "'internal'";
|
||||||
|
};
|
||||||
|
spam-filter = {
|
||||||
|
score.spam = "10.0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
22
modules/fedi/akkoma-fe.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
runCommand,
|
||||||
|
akkoma-fe,
|
||||||
|
xorg,
|
||||||
|
jq,
|
||||||
|
}:
|
||||||
|
runCommand "akkoma_fe" {
|
||||||
|
nativeBuildInputs = [xorg.lndir jq];
|
||||||
|
} ''
|
||||||
|
mkdir $out
|
||||||
|
lndir ${akkoma-fe} $out
|
||||||
|
|
||||||
|
rm $out/static/styles.json
|
||||||
|
cp ${./styles.json} $out/static/styles.json
|
||||||
|
|
||||||
|
rm $out/static/config.json
|
||||||
|
jq -s add ${akkoma-fe}/static/config.json ${./config.json} > $out/static/config.json
|
||||||
|
|
||||||
|
cp ${../../icons/favicon/favicon.png} $out/static/logo.png
|
||||||
|
|
||||||
|
cp ${./rosepine.json} $out/static/themes/rosepine.json
|
||||||
|
''
|
16
modules/fedi/blobfox.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{stdenvNoCC}:
|
||||||
|
stdenvNoCC.mkDerivation {
|
||||||
|
pname = "blobfox";
|
||||||
|
version = "2020.09.04";
|
||||||
|
|
||||||
|
src = ./blobfox;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p $out
|
||||||
|
cp *.png $out
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
}
|
BIN
modules/fedi/blobfox/ablobfoxbongo.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
modules/fedi/blobfox/ablobfoxbongohyper.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
modules/fedi/blobfox/ablobfoxbongoterrified.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
modules/fedi/blobfox/ablobfoxdundundun.png
Normal file
After Width: | Height: | Size: 230 KiB |
BIN
modules/fedi/blobfox/ablobfoxdundundunowo.png
Normal file
After Width: | Height: | Size: 273 KiB |
BIN
modules/fedi/blobfox/ablobfoxhyper.png
Normal file
After Width: | Height: | Size: 9.3 KiB |
BIN
modules/fedi/blobfox/ablobfoxhypercofe.png
Normal file
After Width: | Height: | Size: 353 KiB |
BIN
modules/fedi/blobfox/ablobfoxhyperowo.png
Normal file
After Width: | Height: | Size: 310 KiB |
BIN
modules/fedi/blobfox/ablobfoxhypersnugowo.png
Normal file
After Width: | Height: | Size: 360 KiB |
BIN
modules/fedi/blobfox/ablobfoxhyperthinking.png
Normal file
After Width: | Height: | Size: 319 KiB |
BIN
modules/fedi/blobfox/ablobfoxhyperwhaaaat.png
Normal file
After Width: | Height: | Size: 291 KiB |
BIN
modules/fedi/blobfox/ablobfoxloading.png
Normal file
After Width: | Height: | Size: 146 KiB |
BIN
modules/fedi/blobfox/ablobfoxree.png
Normal file
After Width: | Height: | Size: 300 KiB |
BIN
modules/fedi/blobfox/blobfox.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
modules/fedi/blobfox/blobfox0_0.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
modules/fedi/blobfox/blobfox3c.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
modules/fedi/blobfox/blobfox3cevil.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
modules/fedi/blobfox/blobfox_w_.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
modules/fedi/blobfox/blobfoxangry.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
modules/fedi/blobfox/blobfoxangrylaugh.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
modules/fedi/blobfox/blobfoxannoyed.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
modules/fedi/blobfox/blobfoxartist.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
modules/fedi/blobfox/blobfoxastronout.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
modules/fedi/blobfox/blobfoxastronoutgun.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
modules/fedi/blobfox/blobfoxaww.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
modules/fedi/blobfox/blobfoxblush.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
modules/fedi/blobfox/blobfoxblushmore.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
modules/fedi/blobfox/blobfoxbongo.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
modules/fedi/blobfox/blobfoxbongostart.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
modules/fedi/blobfox/blobfoxbongoterrified.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
modules/fedi/blobfox/blobfoxbongoterrifiedstart.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
modules/fedi/blobfox/blobfoxbonk.png
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
modules/fedi/blobfox/blobfoxboop.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
modules/fedi/blobfox/blobfoxboop_w_.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
modules/fedi/blobfox/blobfoxboopblush.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
modules/fedi/blobfox/blobfoxboopcute.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
modules/fedi/blobfox/blobfoxboopfloof.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
modules/fedi/blobfox/blobfoxboopglare.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
modules/fedi/blobfox/blobfoxboopgoogly.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
modules/fedi/blobfox/blobfoxboophappy.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
modules/fedi/blobfox/blobfoxboopmelt.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
modules/fedi/blobfox/blobfoxboopmelthappy.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
modules/fedi/blobfox/blobfoxboopmlem.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
modules/fedi/blobfox/blobfoxboopowo.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
modules/fedi/blobfox/blobfoxboopterrified.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
modules/fedi/blobfox/blobfoxbox.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
modules/fedi/blobfox/blobfoxbreadpeek.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
modules/fedi/blobfox/blobfoxbreadsnoot.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
modules/fedi/blobfox/blobfoxbreadsnoot2.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
modules/fedi/blobfox/blobfoxbreadsnoot2googly.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
modules/fedi/blobfox/blobfoxbreadsnootgoogly.png
Normal file
After Width: | Height: | Size: 5.5 KiB |
BIN
modules/fedi/blobfox/blobfoxcactus.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
modules/fedi/blobfox/blobfoxcamera.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
modules/fedi/blobfox/blobfoxcat.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
modules/fedi/blobfox/blobfoxcatsnuggle.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
modules/fedi/blobfox/blobfoxcatterrified.png
Normal file
After Width: | Height: | Size: 4.5 KiB |
BIN
modules/fedi/blobfox/blobfoxcheck.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
modules/fedi/blobfox/blobfoxcheer.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
modules/fedi/blobfox/blobfoxcofe.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
modules/fedi/blobfox/blobfoxcofe_w_.png
Normal file
After Width: | Height: | Size: 4 KiB |
BIN
modules/fedi/blobfox/blobfoxcofecute.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
modules/fedi/blobfox/blobfoxcofeglare.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
modules/fedi/blobfox/blobfoxcofemlem.png
Normal file
After Width: | Height: | Size: 3.9 KiB |