Set up media mounts

This commit is contained in:
Ryan Pandya 2025-01-27 01:12:32 -08:00
parent 69e1ae3a8c
commit d78ad53023
6 changed files with 79 additions and 7 deletions

View File

@ -27,6 +27,7 @@ in
}; };
}; };
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
hardware.steam-hardware.enable = true;
programs.java.enable = true; programs.java.enable = true;
programs.steam = { programs.steam = {
enable = cfg.enableNative; enable = cfg.enableNative;
@ -39,6 +40,11 @@ in
localNetworkGameTransfers.openFirewall = true; localNetworkGameTransfers.openFirewall = true;
package = pkgs.steam.override { package = pkgs.steam.override {
extraBwrapArgs = [ "--unsetenv TZ" ]; # https://github.com/NixOS/nixpkgs/issues/338266#issuecomment-2419568331 extraBwrapArgs = [ "--unsetenv TZ" ]; # https://github.com/NixOS/nixpkgs/issues/338266#issuecomment-2419568331
extraPkgs = (
pkgs: with pkgs; [
gamemode
]
);
extraLibraries = extraLibraries =
pkgs: with pkgs; [ pkgs: with pkgs; [
alsa-lib alsa-lib

View File

@ -3,7 +3,7 @@
./boot ./boot
# ./flatpak # ./flatpak
# ./fonts # ./fonts
# ./mounts ./mounts
./networking ./networking
./nix ./nix
./nvidia ./nvidia

View File

@ -0,0 +1,65 @@
{
lib,
config,
pkgs,
...
}:
let
cfg = config.mounts;
in
{
options = {
mounts = {
enable = lib.mkEnableOption "Enable mounts in NixOS";
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
cifs-utils
nfs-utils
];
fileSystems = builtins.listToAttrs (
builtins.map
(mount: {
name = "/media/${mount.name}";
value = {
device = "media.home:/volume1/${mount.path}";
fsType = "nfs";
options = [
# "x-systemd.automount"
# "noauto"
"x-systemd.idle-timeout=600"
"rw"
];
};
})
[
{
name = "archive";
path = "documents/documents/archive";
}
{
name = "photos";
path = "photos";
}
{
name = "video";
path = "video";
}
{
name = "audio";
path = "audio";
}
{
name = "home";
path = "homes/ryan";
}
{
name = "fileshare";
path = "fileshare";
}
]
);
services.rpcbind.enable = true;
};
}

View File

@ -60,7 +60,7 @@ in
# flatpak.enable = true; # flatpak.enable = true;
# fonts.enable = true; # fonts.enable = true;
hardening.enable = true; hardening.enable = true;
# mounts.enable = true; mounts.enable = true;
networking.enable = true; networking.enable = true;
nixConfig.enable = true; nixConfig.enable = true;
packages.enable = true; packages.enable = true;

View File

@ -109,7 +109,7 @@ in
home.packages = with pkgs; [ home.packages = with pkgs; [
# GUI Apps # GUI Apps
firefox firefox
ungoogled-chromium chromium
logseq logseq
filezilla filezilla
spotify spotify
@ -124,7 +124,7 @@ in
mimeApps = mimeApps =
let let
audioPlayer = "org.fooyin.fooyin.desktop"; audioPlayer = "org.fooyin.fooyin.desktop";
browser = "app.zen_browser.zen.desktop"; browser = "firefox.desktop";
editor = "org.kde.kate.desktop"; editor = "org.kde.kate.desktop";
imageViewer = "org.kde.gwenview.desktop"; imageViewer = "org.kde.gwenview.desktop";
pdfViewer = "org.kde.okular.desktop"; pdfViewer = "org.kde.okular.desktop";
@ -148,11 +148,11 @@ in
"application/xml" = editor; "application/xml" = editor;
"application/x-shellscript" = editor; "application/x-shellscript" = editor;
"application/x-yaml" = editor; "application/x-yaml" = editor;
"inode/directory" = "org.kde.dolphin.desktop"; "inode/directory" = "thunar.desktop";
"x-scheme-handler/bottles" = "com.usebottles.bottles.desktop"; "x-scheme-handler/bottles" = "com.usebottles.bottles.desktop";
"x-scheme-handler/http" = browser; "x-scheme-handler/http" = browser;
"x-scheme-handler/https" = browser; "x-scheme-handler/https" = browser;
"x-scheme-handler/terminal" = "org.wezfurlong.wezterm.desktop"; "x-scheme-handler/terminal" = "kitty.desktop";
} }
// lib.optionalAttrs vars.gaming { // lib.optionalAttrs vars.gaming {
"application/x-cue" = "cdemu-client.desktop"; "application/x-cue" = "cdemu-client.desktop";

1
todo
View File

@ -14,3 +14,4 @@ TODO sudo nopasswd
TODO brightness controls TODO brightness controls
TODO sounds (disable bell!!!) TODO sounds (disable bell!!!)
TODO KDEConnect TODO KDEConnect
TODO Numlock