refactor: organizing some imports
This commit is contained in:
parent
c4f7a64329
commit
db319ed5af
8 changed files with 184 additions and 95 deletions
|
|
@ -1,5 +1,9 @@
|
||||||
{lib, ...}: {
|
{lib, ...}: {
|
||||||
imports = [./thunar.nix];
|
imports = [
|
||||||
|
./thunar.nix
|
||||||
|
./steam.nix
|
||||||
|
];
|
||||||
|
|
||||||
thunar.enable = lib.mkDefault true;
|
thunar.enable = lib.mkDefault true;
|
||||||
|
steam.enable = lib.mkDefault false;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,44 +4,48 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
hardware.opengl.driSupport32Bit = true;
|
options = {
|
||||||
|
steam.enable = lib.mkEnableOption "Enables steam";
|
||||||
nixpkgs.config.packageOverrides = pkgs: {
|
|
||||||
steam = pkgs.steam.override {
|
|
||||||
extraPkgs = pkgs:
|
|
||||||
with pkgs; [
|
|
||||||
xorg.libXcursor
|
|
||||||
xorg.libXi
|
|
||||||
xorg.libXinerama
|
|
||||||
xorg.libXScrnSaver
|
|
||||||
libpng
|
|
||||||
libpulseaudio
|
|
||||||
libvorbis
|
|
||||||
stdenv.cc.cc.lib
|
|
||||||
libkrb5
|
|
||||||
keyutils
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.steam = {
|
config = lib.mkIf config.steam.enable {
|
||||||
enable = true;
|
hardware.opengl.driSupport32Bit = true;
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
gamescopeSession = {
|
nixpkgs.config.packageOverrides = pkgs: {
|
||||||
|
steam = pkgs.steam.override {
|
||||||
|
extraPkgs = pkgs:
|
||||||
|
with pkgs; [
|
||||||
|
xorg.libXcursor
|
||||||
|
xorg.libXi
|
||||||
|
xorg.libXinerama
|
||||||
|
xorg.libXScrnSaver
|
||||||
|
libpng
|
||||||
|
libpulseaudio
|
||||||
|
libvorbis
|
||||||
|
stdenv.cc.cc.lib
|
||||||
|
libkrb5
|
||||||
|
keyutils
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
args = [
|
remotePlay.openFirewall = true;
|
||||||
"-F fsr"
|
gamescopeSession = {
|
||||||
"-f"
|
enable = true;
|
||||||
];
|
args = [
|
||||||
|
"-F fsr"
|
||||||
|
"-f"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
|
||||||
environment.sessionVariables = {
|
environment.sessionVariables = {
|
||||||
# Proton GE flag
|
# Proton GE flag
|
||||||
WINE_FULLSCREEN_FSR = "1";
|
WINE_FULLSCREEN_FSR = "1";
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [protonup];
|
||||||
protonup
|
};
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,21 @@
|
||||||
{...}: {
|
{
|
||||||
services.blueman.enable = true;
|
config,
|
||||||
hardware.bluetooth = {
|
lib,
|
||||||
enable = true;
|
...
|
||||||
powerOnBoot = true;
|
}: {
|
||||||
|
options = {
|
||||||
|
bluetooth.enable = lib.mkEnableOption "Enables Bluetooth";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.upower = {enable = true;};
|
config = lib.mkIf config.bluetooth.enable {
|
||||||
|
services.blueman.enable = true;
|
||||||
|
hardware.bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
powerOnBoot = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.upower = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
13
common/nixos/default.nix
Normal file
13
common/nixos/default.nix
Normal 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;
|
||||||
|
}
|
||||||
|
|
@ -1,8 +1,20 @@
|
||||||
{...}: {
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [./bluetooth.nix];
|
imports = [./bluetooth.nix];
|
||||||
# enable's backlight switching
|
options = {
|
||||||
programs.light.enable = true;
|
laptop.enable = lib.mkEnableOption "Enables Laptop options";
|
||||||
|
};
|
||||||
|
|
||||||
# use TLP for power management
|
config = lib.mkIf config.laptop.enable {
|
||||||
services.tlp.enable = true;
|
# enable's backlight switching
|
||||||
|
programs.light.enable = true;
|
||||||
|
|
||||||
|
# use TLP for power management
|
||||||
|
services.tlp.enable = true;
|
||||||
|
|
||||||
|
bluetooth.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,33 +1,68 @@
|
||||||
{...}: {
|
{
|
||||||
fileSystems = {
|
config,
|
||||||
"/media" = {
|
lib,
|
||||||
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 = {
|
||||||
};
|
nfs.enable = lib.mkEnableOption "Enables NFS and sets up mounts";
|
||||||
|
};
|
||||||
|
|
||||||
"/books" = {
|
config = lib.mkIf config.nfs.enable {
|
||||||
device = "192.168.10.2:/mnt/tank/books";
|
fileSystems = {
|
||||||
fsType = "nfs";
|
"/media" = {
|
||||||
options = ["x-systemd.automount" "noauto" "x-systemd.after=network-online.target" "x-systemd.mount-timeout=90"];
|
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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
"/music" = {
|
"/books" = {
|
||||||
device = "192.168.10.2:/mnt/tank/music";
|
device = "192.168.10.2:/mnt/tank/books";
|
||||||
fsType = "nfs";
|
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" = {
|
"/music" = {
|
||||||
device = "192.168.10.2:/mnt/tank/projects";
|
device = "192.168.10.2:/mnt/tank/music";
|
||||||
fsType = "nfs";
|
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" = {
|
"/projects" = {
|
||||||
device = "192.168.10.2:/mnt/tank/backups";
|
device = "192.168.10.2:/mnt/tank/projects";
|
||||||
fsType = "nfs";
|
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"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,33 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
|
lib,
|
||||||
user,
|
user,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
sops.secrets.restic_key = {
|
options = {
|
||||||
owner = config.users.users.${user}.name;
|
restic.enable = lib.mkEnableOption "Enables Restic";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.restic.backups = {
|
config = lib.mkIf config.nfs.enable {
|
||||||
backups = {
|
sops.secrets.restic_key = {
|
||||||
user = "${user}";
|
owner = config.users.users.${user}.name;
|
||||||
repository = "/backups";
|
};
|
||||||
initialize = true;
|
|
||||||
passwordFile = "${config.sops.secrets.restic_key.path}";
|
services.restic.backups = {
|
||||||
paths = ["/home/${user}/repos" "/home/${user}/Documents" "/home/${user}/.local/share/password-store" "/home/${user}/.local/share/buku"];
|
backups = {
|
||||||
timerConfig = {
|
user = "${user}";
|
||||||
onCalendar = "saturday 23:00";
|
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"
|
||||||
|
];
|
||||||
|
timerConfig = {
|
||||||
|
onCalendar = "saturday 23:00";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,6 @@
|
||||||
outputs,
|
outputs,
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
pkgs,
|
|
||||||
user,
|
user,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
|
@ -14,21 +13,14 @@
|
||||||
# If you want to use modules your own flake exports (from modules/nixos):
|
# If you want to use modules your own flake exports (from modules/nixos):
|
||||||
# outputs.nixosModules.example
|
# outputs.nixosModules.example
|
||||||
../../common/nixos/common.nix
|
../../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/hyprland.nix
|
||||||
../../common/gui/default.nix
|
|
||||||
../../common/style/stylix.nix
|
../../common/style/stylix.nix
|
||||||
../../common/virtualization/default.nix
|
../../common/nixos/sysctl
|
||||||
../../common/nixos/sysctl/default.nix
|
|
||||||
|
|
||||||
../../common/networking
|
../../common/networking
|
||||||
|
../../common/nixos
|
||||||
|
../../common/gui
|
||||||
|
../../common/virtualization
|
||||||
|
|
||||||
./auditd.nix
|
./auditd.nix
|
||||||
./kernel.nix
|
./kernel.nix
|
||||||
|
|
@ -49,6 +41,11 @@
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
laptop.enable = true;
|
||||||
|
nfs.enable = true;
|
||||||
|
ssh.enable = true;
|
||||||
|
ssh_guard.enable = true;
|
||||||
|
|
||||||
# Bootloader.
|
# Bootloader.
|
||||||
boot = {
|
boot = {
|
||||||
loader = {
|
loader = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue