Merge branch 'main' into storage-refactor

This commit is contained in:
Leyla Becker 2025-11-30 13:30:00 -06:00
commit 6864312e49
9 changed files with 79 additions and 32 deletions

View file

@ -46,6 +46,7 @@ in {
}) })
(lib.mkIf (hardware.directAccess.enable && config.user.isDesktopUser) { (lib.mkIf (hardware.directAccess.enable && config.user.isDesktopUser) {
anki.enable = true; anki.enable = true;
android-studio.enable = true;
makemkv.enable = true; makemkv.enable = true;
discord.enable = true; discord.enable = true;
signal-desktop-bin.enable = true; signal-desktop-bin.enable = true;

View file

@ -40,7 +40,7 @@
services.xserver.wacom.enable = true; services.xserver.wacom.enable = true;
# installed opentabletdriver # installed opentabletdriver
hardware.opentabletdriver.enable = true; # hardware.opentabletdriver.enable = true;
hardware.keyboard.qmk.enable = true; hardware.keyboard.qmk.enable = true;
# Enable the GNOME Desktop Environment. # Enable the GNOME Desktop Environment.
@ -79,6 +79,12 @@
}; };
}; };
virtualisation.libvirtd.enable = true;
users.users.eve = {
extraGroups = ["libvirtd"];
};
services.tailscale.enable = true; services.tailscale.enable = true;
# We were having weird build errors so this is disabled right now # We were having weird build errors so this is disabled right now
# error: The option `devices.emergent.folders.eve_records.path' was accessed but has no value defined. Try setting the option # error: The option `devices.emergent.folders.eve_records.path' was accessed but has no value defined. Try setting the option
@ -119,6 +125,8 @@
# See https://search.nixos.org/packages for all options # See https://search.nixos.org/packages for all options
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
wget wget
gnome-boxes
libvirt
]; ];
# Packages that need to be installed with some extra configuration # Packages that need to be installed with some extra configuration

View file

@ -12,7 +12,7 @@
(modulesPath + "/installer/scan/not-detected.nix") (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"]; boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod" "wacom" "kvm" "kvm_amd"];
boot.initrd.kernelModules = []; boot.initrd.kernelModules = [];
boot.kernelModules = []; boot.kernelModules = [];
boot.extraModulePackages = []; boot.extraModulePackages = [];

View file

@ -85,6 +85,8 @@
}; };
}; };
virtualisation.docker.enable = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
cachefilesd cachefilesd
webtoon-dl webtoon-dl

View file

@ -18,12 +18,12 @@
fileSystems = { fileSystems = {
"/" = { "/" = {
device = "/dev/disk/by-uuid/8be49c65-2b57-48f1-b74d-244d26061adb"; device = "/dev/disk/by-id/nvme-Samsung_SSD_980_500GB_S64ENJ0RA06463Z-part2";
fsType = "ext4"; fsType = "ext4";
}; };
"/boot" = { "/boot" = {
device = "/dev/disk/by-uuid/3006-3867"; device = "/dev/disk/by-id/nvme-Samsung_SSD_980_500GB_S64ENJ0RA06463Z-part1";
fsType = "vfat"; fsType = "vfat";
options = ["fmask=0022" "dmask=0022"]; options = ["fmask=0022" "dmask=0022"];
}; };

54
flake.lock generated
View file

@ -25,11 +25,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763651264, "lastModified": 1764350888,
"narHash": "sha256-8vvwZbw0s7YvBMJeyPVpWke6lg6ROgtts5N2/SMCcv4=", "narHash": "sha256-6Rp18zavTlnlZzcoLoBTJMBahL2FycVkw2rAEs3cQvo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "e86a89079587497174ccab6d0d142a65811a4fd9", "rev": "2055a08fd0e2fd41318279a5355eb8a161accf26",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -46,11 +46,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1763697825, "lastModified": 1764332086,
"narHash": "sha256-AgCCcVPOi1tuzuW5/StlwqBjRWSX62oL97qWuxrq5UA=", "narHash": "sha256-sQTS3T4nNU/he+X62q5aflqSLx2zs4A8/cx3QsLc0Vw=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "cefce78793603231be226fa77e7ad58e0e4899b8", "rev": "fdc5a0a8a7cf1eb4d134ee42f62c56f293781a0e",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -133,11 +133,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763748372, "lastModified": 1764361670,
"narHash": "sha256-AUc78Qv3sWir0hvbmfXoZ7Jzq9VVL97l+sP9Jgms+JU=", "narHash": "sha256-jgWzgpIaHbL3USIq0gihZeuy1lLf2YSfwvWEwnfAJUw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "d10a9b16b2a3ee28433f3d1c603f4e9f1fecb8e1", "rev": "780be8ef503a28939cf9dc7996b48ffb1a3e04c6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -236,11 +236,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763505477, "lastModified": 1764161084,
"narHash": "sha256-nJRd4LY2kT3OELfHqdgWjvToNZ4w+zKCMzS2R6z4sXE=", "narHash": "sha256-HN84sByg9FhJnojkGGDSrcjcbeioFWoNXfuyYfJ1kBE=",
"owner": "LnL7", "owner": "LnL7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "3bda9f6b14161becbd07b3c56411f1670e19b9b5", "rev": "e95de00a471d07435e0527ff4db092c84998698e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -277,11 +277,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763690163, "lastModified": 1764294946,
"narHash": "sha256-MMl9P8f17unCvlk2IAinnMq/P72f51UUHVRIYnojT7w=", "narHash": "sha256-8BObMeUmCAZW1BTMUQGRGiz9tpNkVt/6/+blpS9Xxgk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "590349d9faeb398a037205c2927ffbaede980539", "rev": "134c052c3213dc69ed881e41383b8ed29c5ffe72",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -292,11 +292,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1762847253, "lastModified": 1764328224,
"narHash": "sha256-BWWnUUT01lPwCWUvS0p6Px5UOBFeXJ8jR+ZdLX8IbrU=", "narHash": "sha256-hFyF1XQd+XrRx7WZCrGJp544dykexD8Q5SrJJZpEQYg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "899dc449bc6428b9ee6b3b8f771ca2b0ef945ab9", "rev": "d62603a997438e19182af69d3ce7be07565ecad4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -324,11 +324,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1763421233, "lastModified": 1764242076,
"narHash": "sha256-Stk9ZYRkGrnnpyJ4eqt9eQtdFWRRIvMxpNRf4sIegnw=", "narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "89c2b2330e733d6cdb5eae7b899326930c2c0648", "rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -361,11 +361,11 @@
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1764204484, "lastModified": 1764349553,
"narHash": "sha256-S45ghD/YjcKDy8Mz3DYklLMaA/z6f6mTbx0i7pAktYk=", "narHash": "sha256-ZOWEZK/pZLri/jEK1J8TEbjtwpIjXwCTH9F4gbor9qQ=",
"owner": "IntQuant", "owner": "IntQuant",
"repo": "noita_entangled_worlds", "repo": "noita_entangled_worlds",
"rev": "ab2c2162157140ab519fa19f6737c044e1ed0e3b", "rev": "01aac406df2c6d0a10faa19083d608bdf90cf3a9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -438,11 +438,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1763607916, "lastModified": 1764021963,
"narHash": "sha256-VefBA1JWRXM929mBAFohFUtQJLUnEwZ2vmYUNkFnSjE=", "narHash": "sha256-1m84V2ROwNEbqeS9t37/mkry23GBhfMt8qb6aHHmjuc=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "877bb495a6f8faf0d89fc10bd142c4b7ed2bcc0b", "rev": "c482a1c1bbe030be6688ed7dc84f7213f304f1ec",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -0,0 +1,35 @@
{
lib,
pkgs,
config,
...
}: {
options.programs.android-studio = {
enable = lib.mkEnableOption "enable android-studio";
};
config = lib.mkIf config.programs.android-studio.enable (lib.mkMerge [
{
home.packages = with pkgs; [
android-studio
];
}
# TODO: create this
# (
# lib.mkIf config.impermanence.enable {
# home.persistence."/persist${config.home.homeDirectory}" = {
# directories = [
# # configuration
# "${config.xdg.configHome}/Google/AndroidStudio"
# # Android SDK
# ".android"
# # Gradle cache
# ".gradle"
# # Android Studio projects cache
# "${config.xdg.cacheHome}/Google/AndroidStudio"
# ];
# };
# }
# )
]);
}

View file

@ -1,5 +1,6 @@
{...}: { {...}: {
imports = [ imports = [
./android-studio.nix
./firefox.nix ./firefox.nix
./signal.nix ./signal.nix
./bitwarden.nix ./bitwarden.nix

View file

@ -113,7 +113,7 @@ in {
description = "Leyla"; description = "Leyla";
extraGroups = extraGroups =
(lib.lists.optionals host.users.leyla.isNormalUser ["networkmanager"]) (lib.lists.optionals host.users.leyla.isNormalUser ["networkmanager"])
++ (lib.lists.optionals host.users.leyla.isPrincipleUser ["wheel" "dialout"]) ++ (lib.lists.optionals host.users.leyla.isPrincipleUser ["wheel" "dialout" "docker"])
++ (lib.lists.optionals host.users.leyla.isDesktopUser ["adbusers"]); ++ (lib.lists.optionals host.users.leyla.isDesktopUser ["adbusers"]);
hashedPasswordFile = config.sops.secrets."passwords/leyla".path; hashedPasswordFile = config.sops.secrets."passwords/leyla".path;
isNormalUser = host.users.leyla.isNormalUser; isNormalUser = host.users.leyla.isNormalUser;