refactor: organizing some imports

This commit is contained in:
gwg313 2024-09-11 13:59:52 -04:00
parent c4f7a64329
commit db319ed5af
Signed by: gwg313
GPG key ID: 60FF63B4826B7400
8 changed files with 184 additions and 95 deletions

View file

@ -1,5 +1,9 @@
{lib, ...}: {
imports = [./thunar.nix];
imports = [
./thunar.nix
./steam.nix
];
thunar.enable = lib.mkDefault true;
steam.enable = lib.mkDefault false;
}

View file

@ -4,6 +4,11 @@
pkgs,
...
}: {
options = {
steam.enable = lib.mkEnableOption "Enables steam";
};
config = lib.mkIf config.steam.enable {
hardware.opengl.driSupport32Bit = true;
nixpkgs.config.packageOverrides = pkgs: {
@ -41,7 +46,6 @@
WINE_FULLSCREEN_FSR = "1";
};
environment.systemPackages = with pkgs; [
protonup
];
environment.systemPackages = with pkgs; [protonup];
};
}

View file

@ -1,9 +1,21 @@
{...}: {
{
config,
lib,
...
}: {
options = {
bluetooth.enable = lib.mkEnableOption "Enables Bluetooth";
};
config = lib.mkIf config.bluetooth.enable {
services.blueman.enable = true;
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
};
services.upower = {enable = true;};
services.upower = {
enable = true;
};
};
}

13
common/nixos/default.nix Normal file
View file

@ -0,0 +1,13 @@
{lib, ...}: {
imports = [
./common.nix
./laptop.nix
./nfs.nix
./restic.nix
./ssh/default.nix
];
laptop.enable = lib.mkDefault false;
nfs.enable = lib.mkDefault false;
restic.enable = lib.mkDefault true;
}

View file

@ -1,8 +1,20 @@
{...}: {
{
config,
lib,
...
}: {
imports = [./bluetooth.nix];
options = {
laptop.enable = lib.mkEnableOption "Enables Laptop options";
};
config = lib.mkIf config.laptop.enable {
# enable's backlight switching
programs.light.enable = true;
# use TLP for power management
services.tlp.enable = true;
bluetooth.enable = true;
};
}

View file

@ -1,33 +1,68 @@
{...}: {
{
config,
lib,
...
}: {
options = {
nfs.enable = lib.mkEnableOption "Enables NFS and sets up mounts";
};
config = lib.mkIf config.nfs.enable {
fileSystems = {
"/media" = {
device = "192.168.10.2:/mnt/tank/media";
fsType = "nfs";
options = ["x-systemd.automount" "noauto" "x-systemd.after=network-online.target" "x-systemd.mount-timeout=90"];
options = [
"x-systemd.automount"
"noauto"
"x-systemd.after=network-online.target"
"x-systemd.mount-timeout=90"
];
};
"/books" = {
device = "192.168.10.2:/mnt/tank/books";
fsType = "nfs";
options = ["x-systemd.automount" "noauto" "x-systemd.after=network-online.target" "x-systemd.mount-timeout=90"];
options = [
"x-systemd.automount"
"noauto"
"x-systemd.after=network-online.target"
"x-systemd.mount-timeout=90"
];
};
"/music" = {
device = "192.168.10.2:/mnt/tank/music";
fsType = "nfs";
options = ["x-systemd.automount" "noauto" "x-systemd.after=network-online.target" "x-systemd.mount-timeout=90"];
options = [
"x-systemd.automount"
"noauto"
"x-systemd.after=network-online.target"
"x-systemd.mount-timeout=90"
];
};
"/projects" = {
device = "192.168.10.2:/mnt/tank/projects";
fsType = "nfs";
options = ["x-systemd.automount" "noauto" "x-systemd.after=network-online.target" "x-systemd.mount-timeout=90"];
options = [
"x-systemd.automount"
"noauto"
"x-systemd.after=network-online.target"
"x-systemd.mount-timeout=90"
];
};
"/backups" = {
device = "192.168.10.2:/mnt/tank/backups";
fsType = "nfs";
options = ["x-systemd.automount" "noauto" "x-systemd.after=network-online.target" "x-systemd.mount-timeout=90"];
options = [
"x-systemd.automount"
"noauto"
"x-systemd.after=network-online.target"
"x-systemd.mount-timeout=90"
];
};
};
};
}

View file

@ -1,8 +1,14 @@
{
config,
lib,
user,
...
}: {
options = {
restic.enable = lib.mkEnableOption "Enables Restic";
};
config = lib.mkIf config.nfs.enable {
sops.secrets.restic_key = {
owner = config.users.users.${user}.name;
};
@ -13,10 +19,16 @@
repository = "/backups";
initialize = true;
passwordFile = "${config.sops.secrets.restic_key.path}";
paths = ["/home/${user}/repos" "/home/${user}/Documents" "/home/${user}/.local/share/password-store" "/home/${user}/.local/share/buku"];
paths = [
"/home/${user}/repos"
"/home/${user}/Documents"
"/home/${user}/.local/share/password-store"
"/home/${user}/.local/share/buku"
];
timerConfig = {
onCalendar = "saturday 23:00";
};
};
};
};
}

View file

@ -5,7 +5,6 @@
outputs,
lib,
config,
pkgs,
user,
...
}: {
@ -14,21 +13,14 @@
# If you want to use modules your own flake exports (from modules/nixos):
# outputs.nixosModules.example
../../common/nixos/common.nix
../../common/nixos/laptop.nix
../../common/networking/default.nix
../../common/nixos/bluetooth.nix
../../common/nixos/restic.nix
../../common/nixos/ssh/ssh.nix
../../common/gui/steam.nix
../../common/nixos/ssh/ssh_client.nix
../../common/nixos/ssh/ssh_guard.nix
../../common/gui/hyprland.nix
../../common/gui/default.nix
../../common/style/stylix.nix
../../common/virtualization/default.nix
../../common/nixos/sysctl/default.nix
../../common/nixos/sysctl
../../common/networking
../../common/nixos
../../common/gui
../../common/virtualization
./auditd.nix
./kernel.nix
@ -49,6 +41,11 @@
./hardware-configuration.nix
];
laptop.enable = true;
nfs.enable = true;
ssh.enable = true;
ssh_guard.enable = true;
# Bootloader.
boot = {
loader = {