initial attempt at nfs

This commit is contained in:
Chris Kruining 2025-07-09 23:05:08 +02:00
parent ee4d1eb158
commit 0fa527717e
Signed by: chris
SSH key fingerprint: SHA256:nG82MUfuVdRVyCKKWqhY+pCrbz9nbX6uzUns4RKa1Pg
11 changed files with 73 additions and 38 deletions

View file

@ -1,15 +1,24 @@
{ config, ... }: { config, ... }:
{ {
fileSystems."/home/chris/games" = { fileSystems = {
device = "/dev/disk/by-label/games"; "/home/chris/games" = {
fsType = "ext4"; device = "/dev/disk/by-label/games";
fsType = "ext4";
};
"/home/chris/data" = {
device = "/dev/disk/by-label/Data";
fsType = "ntfs-3g";
options = [ "rw" "uid=chris" ];
};
"/home/chris/media" = {
device = "ulmo:/";
fsType = "nfs";
};
}; };
fileSystems."/home/chris/data" = { boot.supportedFilesystems = [ "nfs" ];
device = "/dev/disk/by-label/Data";
fsType = "ntfs-3g";
options = [ "rw" "uid=chris" ];
};
modules = { modules = {
system.audio.enable = true; system.audio.enable = true;

View file

@ -1,7 +1,5 @@
{ config, ... }: { config, ... }:
{ {
imports = [ ./hardware.nix ];
config = { config = {
fileSystems."/var/media" = { fileSystems."/var/media" = {
device = "/dev/disk/by-label/data"; device = "/dev/disk/by-label/data";
@ -9,16 +7,15 @@
}; };
modules = { modules = {
networking.ssh.enable = true; networking = {
ssh.enable = true;
nfs.enable = true;
};
services = { services = {
auth.enable = true; auth.enable = true;
media.enable = true; media.enable = true;
nextcloud.enable = true; nextcloud.enable = true;
games = {
# minecraft.enable = true;
};
}; };
root = { root = {

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, modulesPath, ... }: { config, lib, modulesPath, ... }:
let let
inherit (lib.modules) mkDefault; inherit (lib.modules) mkDefault;
in in

View file

@ -207,7 +207,7 @@ in
]; ];
powerdevil = { powerdevil = {
AC = { AC = {
powerButtonAction = "shutDown"; powerButtonAction = "shutDown";
whenLaptopLidClosed = "doNothing"; whenLaptopLidClosed = "doNothing";
@ -215,10 +215,11 @@ in
dimDisplay.enable = false; dimDisplay.enable = false;
turnOffDisplay = { turnOffDisplay = {
idleTimeout = "never"; idleTimeout = "never";
}; };
}; };
battery = {
battery = {
powerButtonAction = "shutDown"; powerButtonAction = "shutDown";
whenLaptopLidClosed = "doNothing"; whenLaptopLidClosed = "doNothing";
@ -226,10 +227,11 @@ in
dimDisplay.enable = false; dimDisplay.enable = false;
turnOffDisplay = { turnOffDisplay = {
idleTimeout = "never"; idleTimeout = "never";
}; };
}; };
lowBattery = {
lowBattery = {
powerButtonAction = "shutDown"; powerButtonAction = "shutDown";
whenLaptopLidClosed = "doNothing"; whenLaptopLidClosed = "doNothing";
@ -237,9 +239,9 @@ in
dimDisplay.enable = false; dimDisplay.enable = false;
turnOffDisplay = { turnOffDisplay = {
idleTimeout = "never"; idleTimeout = "never";
};
}; };
};
}; };
kscreenlocker = { kscreenlocker = {

View file

@ -1,7 +1,6 @@
{ config, lib, pkgs, user, ... }: { config, lib, pkgs, user, ... }:
let let
inherit (lib.options) mkEnableOption; inherit (lib.options) mkEnableOption;
inherit (lib.attrsets) attrValues;
inherit (lib.modules) mkIf; inherit (lib.modules) mkIf;
in in
{ {
@ -13,10 +12,7 @@ in
environment.sessionVariables.GITHUB_TOKEN = "$(cat /run/agenix/tokenGH)"; environment.sessionVariables.GITHUB_TOKEN = "$(cat /run/agenix/tokenGH)";
home-manager.users.${user} = { home-manager.users.${user} = {
home.packages = attrValues { home.packages = with pkgs; [ lazygit lazyjj jujutsu ];
inherit (pkgs) lazygit;
# inherit (pkgs.gitAndTools) gh git-open git-crypt;
};
programs = { programs = {
zsh.initContent = '' zsh.initContent = ''

View file

@ -1,4 +1,4 @@
{ config, options, lib, pkgs, ... }: { ... }:
{ {
boot.loader = { boot.loader = {
efi.canTouchEfiVariables = true; efi.canTouchEfiVariables = true;

View file

@ -11,6 +11,8 @@ in
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.desktopManager.plasma6.enable = true;
jovian = { jovian = {
# devices = { # devices = {
# steamdeck = { # steamdeck = {
@ -24,7 +26,7 @@ in
autoStart = true; autoStart = true;
user = "chris"; user = "chris";
updater.splash = "steamos"; updater.splash = "steamos";
desktopSession = "gamescope-wayland"; # desktopSession = "plasma";
}; };
steamos.useSteamOSConfig = true; steamos.useSteamOSConfig = true;
}; };

View file

@ -0,0 +1,22 @@
{ config, lib, ... }:
let
inherit (lib) mkIf mkEnableOption;
cfg = config.modules.networking.nfs;
in
{
options.modules.networking.nfs = {
enable = mkEnableOption "Enable NFS";
};
config = mkIf cfg.enable {
networking.firewall.allowedTCPPorts = [ 2049 ];
services.nsf.server = {
enable = true;
exports = ''
/var/media manwe(rw,fsid=0,no_subtree_check)
'';
};
};
}

View file

@ -1,4 +1,4 @@
{ pkgs, options, config, lib, ... }: { pkgs, config, lib, ... }:
let let
inherit (builtins) getEnv; inherit (builtins) getEnv;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;

View file

@ -1,6 +1,6 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let
inherit (lib.modules) mkIf; inherit (lib) mkIf;
user = "media"; user = "media";
group = "media"; group = "media";
@ -67,6 +67,11 @@ in
bazarr = serviceConf; bazarr = serviceConf;
lidarr = serviceConf; lidarr = serviceConf;
lanraragi = {
enable = true;
port = 6969;
};
jellyseerr = { jellyseerr = {
enable = true; enable = true;
openFirewall = true; openFirewall = true;
@ -126,7 +131,7 @@ in
}; };
}; };
networking.firewall.allowedTCPPorts = [ 80 443 ]; networking.firewall.allowedTCPPorts = [ 80 443 6969 ];
modules.virtualisation.podman.enable = true; modules.virtualisation.podman.enable = true;

View file

@ -14,12 +14,14 @@ in
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
environment.systemPackages = attrValues { environment.systemPackages = with pkgs; [
inherit (pkgs) easyeffects; # easyeffects
}; sof-firmware
];
security.rtkit.enable = true; security.rtkit.enable = true;
services.pulseaudio.enable = false;
services.pipewire = { services.pipewire = {
enable = true; enable = true;
wireplumber.enable = true; wireplumber.enable = true;