From 975f97edee43c0987ebe9e0ec352cd4b4eec2d6a Mon Sep 17 00:00:00 2001 From: Chris Kruining Date: Tue, 23 Jul 2024 23:56:05 +0200 Subject: [PATCH] cleaning up old files, only a bit more to go --- modules/_home-manager/desktop.nix | 9 -- modules/_home-manager/terminals/default.nix | 7 - modules/_programs/default.nix | 15 -- modules/_programs/gaming.nix | 21 --- modules/_programs/media.nix | 163 -------------------- modules/_programs/nextcloud.nix | 27 ---- modules/_programs/office.nix | 13 -- modules/_programs/shell.nix | 40 ----- modules/_programs/shell/rust.nix | 39 ----- modules/_programs/theme.nix | 5 - modules/desktop/applications/office.nix | 28 ++++ modules/desktop/applications/steam.nix | 57 +++++++ modules/themes/stylix.nix | 5 + 13 files changed, 90 insertions(+), 339 deletions(-) delete mode 100644 modules/_home-manager/desktop.nix delete mode 100644 modules/_programs/default.nix delete mode 100644 modules/_programs/gaming.nix delete mode 100644 modules/_programs/media.nix delete mode 100644 modules/_programs/nextcloud.nix delete mode 100644 modules/_programs/office.nix delete mode 100644 modules/_programs/shell.nix delete mode 100644 modules/_programs/shell/rust.nix delete mode 100644 modules/_programs/theme.nix create mode 100644 modules/desktop/applications/office.nix create mode 100644 modules/desktop/applications/steam.nix create mode 100644 modules/themes/stylix.nix diff --git a/modules/_home-manager/desktop.nix b/modules/_home-manager/desktop.nix deleted file mode 100644 index 7772bc0..0000000 --- a/modules/_home-manager/desktop.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ pkgs, ... }: -{ - services = { - kdeconnect = { - enable = true; - package = pkgs.kdePackages.kdeconnect-kde; - }; - }; -} diff --git a/modules/_home-manager/terminals/default.nix b/modules/_home-manager/terminals/default.nix index 9d0fda2..9ff6e8f 100644 --- a/modules/_home-manager/terminals/default.nix +++ b/modules/_home-manager/terminals/default.nix @@ -1,12 +1,5 @@ { pkgs, config, ... }: { -# environment.systemPackages = with pkgs; [ -# zsh -# starship -# ]; - -# users.defaultUserShell = pkgs.zsh; - fonts.fontconfig.enable = true; home.packages = [ diff --git a/modules/_programs/default.nix b/modules/_programs/default.nix deleted file mode 100644 index 0a37f03..0000000 --- a/modules/_programs/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ config, options, lib, pkgs, ... }: -let - inherit (lib.modules) mkIf; -in -{ - options.modules.programs = let - inherit (lib.options) mkEnableOption; - in { - enable = mkEnableOption "Rust developmnt"; - }; - - config = mkIf config.modules.programs.enable { - - }; -} diff --git a/modules/_programs/gaming.nix b/modules/_programs/gaming.nix deleted file mode 100644 index 54d6b88..0000000 --- a/modules/_programs/gaming.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ config, pkgs, ... }: -{ - # Steam - programs.steam = { - enable = true; - gamescopeSession.enable = true; - remotePlay.openFirewall = true; - dedicatedServer.openFirewall = true; - }; - - environment.systemPackages = with pkgs; [ - #mangohud - protonup - ]; - - environment.sessionVariables = { - STEAM_EXTRA_COMPAT_TOOLS_PATHS = "/home/chris/.steam/root/compatibilitytools.d"; - }; - - programs.gamemode.enable = true; -} diff --git a/modules/_programs/media.nix b/modules/_programs/media.nix deleted file mode 100644 index 326e89e..0000000 --- a/modules/_programs/media.nix +++ /dev/null @@ -1,163 +0,0 @@ -{ config, pkgs, lib, sensitive, ... }: - -with lib; - -let - user = "media"; - group = "media"; - directory = "/var/media"; -in -{ - imports = [ - ../common/qbittorrent.nix - ]; - - environment.systemPackages = with pkgs; [ - podman-tui - jellyfin - jellyseerr - mediainfo - authelia - ]; - - users = { - users."${user}" = { - isSystemUser = true; - group = group; - }; - groups."${group}" = {}; - }; - - system.activationScripts.var = mkForce '' - install -d -m 0755 -o ${user} -g ${group} ${directory}/series - install -d -m 0755 -o ${user} -g ${group} ${directory}/movies - install -d -m 0755 -o ${user} -g ${group} ${directory}/qbittorrent - install -d -m 0755 -o ${user} -g ${group} ${directory}/sabnzbd - install -d -m 0755 -o ${user} -g ${group} ${directory}/reiverr/config - install -d -m 0755 -o ${user} -g ${group} ${directory}/downloads/incomplete - install -d -m 0755 -o ${user} -g ${group} ${directory}/downloads/done - ''; - - services = { - jellyfin = { - enable = true; - openFirewall = true; - user = user; - group = group; - }; - - radarr = { - enable = true; - openFirewall = true; - user = user; - group = group; - }; - - sonarr = { - enable = true; - openFirewall = true; - user = user; - group = group; - }; - - bazarr = { - enable = true; - openFirewall = true; - user = user; - group = group; - }; - - lidarr = { - enable = true; - openFirewall = true; - user = user; - group = group; - }; - - jellyseerr = { - enable = true; - openFirewall = true; - }; - - prowlarr = { - enable = true; - openFirewall = true; - }; - - qbittorrent = { - enable = true; - openFirewall = true; - dataDir = "${directory}/qbittorrent"; - port = 5000; - - user = user; - group = group; - }; - - sabnzbd = { - enable = true; - openFirewall = true; - configFile = "${directory}/sabnzbd/config.ini"; - port = 5001; - - user = user; - group = group; - }; - - caddy = { - enable = true; - virtualHosts = { - "media.kruining.eu".extraConfig = '' - #basicauth { - # chris $2a$12$JrsmxrEJj2wLMdcFmEHbWeMJF9gWH/fnE/1Zv67cKvBtq4E4xsSEe - #} - reverse_proxy http://127.0.0.1:9494 - tls internal - ''; - "cloud.kruining.eu".extraConfig = '' - basicauth { - chris $2a$12$JrsmxrEJj2wLMdcFmEHbWeMJF9gWH/fnE/1Zv67cKvBtq4E4xsSEe - } - php_fastcgi unix//run/phpfpm/nextcloud.sock { - env front_controller_active true - } - tls internal - ''; - }; - }; - }; - - virtualisation = { - containers.enable = true; - - podman = { - enable = true; - dockerCompat = true; - defaultNetwork.settings.dns_enabled = true; - }; - - oci-containers = { - backend = "podman"; - - containers = { - flaresolverr = { - image = "flaresolverr/flaresolverr"; - autoStart = true; - ports = [ "127.0.0.1:8191:8191" ]; - }; - - reiverr = { - image = "ghcr.io/aleksilassila/reiverr:v2.0.0-alpha.6"; - autoStart = true; - ports = [ "127.0.0.1:9494:9494" ]; - volumes = [ "${directory}/reiverr/config:/config" ]; - }; - }; - }; - }; - - # Open firewall for caddy - networking.firewall.allowedTCPPorts = [ 80 443 ]; - - systemd.services.jellyfin.serviceConfig.killSignal = lib.mkForce "SIGKILL"; -} diff --git a/modules/_programs/nextcloud.nix b/modules/_programs/nextcloud.nix deleted file mode 100644 index 2324ccc..0000000 --- a/modules/_programs/nextcloud.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ pkgs, config, ... }: -{ - imports = [ - "${fetchTarball { - url = "https://github.com/onny/nixos-nextcloud-testumgebung/archive/fa6f062830b4bc3cedb9694c1dbf01d5fdf775ac.tar.gz"; - sha256 = "0gzd0276b8da3ykapgqks2zhsqdv4jjvbv97dsxg0hgrhb74z0fs";}}/nextcloud-extras.nix" - ]; - - environment.etc."nextcloud-admin-pass".text = "KaasIsAwesome!"; - - services.nextcloud = { - enable = true; - https = true; - package = pkgs.nextcloud29; - hostName = "localhost"; - webserver = "caddy"; - config = { - adminpassFile = "/etc/nextcloud-admin-pass"; - dbtype = "sqlite"; - }; - -# extraApps = { -# inherit (config.services.nextcloud.package.packages.apps) contacts calendar; -# }; -# extraAppsEnable = true; - }; -} diff --git a/modules/_programs/office.nix b/modules/_programs/office.nix deleted file mode 100644 index 41e37b0..0000000 --- a/modules/_programs/office.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ pkgs, lib, ... }: -{ - environment.systemPackages = with pkgs; [ - onlyoffice-bin - ]; - - nixpkgs.config.allowUnfreePredicate = pkg: - builtins.elem (lib.getName pkg) [ "corefonts" ]; - - fonts.packages = with pkgs; [ - corefonts - ]; -} diff --git a/modules/_programs/shell.nix b/modules/_programs/shell.nix deleted file mode 100644 index 29fc9fd..0000000 --- a/modules/_programs/shell.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ pkgs, config, ... }: -{ - environment.systemPackages = with pkgs; [ - git - gitkraken - zsh - bat - zoxide - eza - starship - alacritty - zed-editor - corepack_22 - bun - nano - ]; - - users.defaultUserShell = pkgs.zsh; - - fonts = { - fontconfig.enable = true; - packages = with pkgs; [ - noto-fonts - noto-fonts-cjk - noto-fonts-emoji - liberation_ttf - fira-code - fira-code-symbols - mplus-outline-fonts.githubRelease - dina-font - proggyfonts - (nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" ]; }) - ]; - }; - - programs.zsh.enable = true; - programs.starship.enable = true; - - -} diff --git a/modules/_programs/shell/rust.nix b/modules/_programs/shell/rust.nix deleted file mode 100644 index 7475f15..0000000 --- a/modules/_programs/shell/rust.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ pkgs ? import {} }: -let - overrides = (builtins.fromTOML (builtins.readFile ./rust-toolchain.toml)); - libPath = with pkgs; lib.makeLibraryPath []; -in -{ - pkgs.mkShell rec { - buildInputs = with pkgs; [ - clang - llvmPackages.bintools - rustup - ]: - - RUSTC_VERSION = overrides.toolchain.channel - LIBCLANG_PATH = pkgs.lib.makeLibraryPath [ pkgs.llvmPackages_latest.libclang.lib ]; - shellHook = '' - export PATH=$PATH:''${CARGO_HOME:-~/.cargo}/bin - export PATH=$PATH:''${RUSTUP_HOME:-~/.rustup}/toolchains/$RUSTC_VERSION-x86_64-unknown-linux-gnu/bin/ - ''; - # Add precompiled library to rustc search path - RUSTFLAGS = (builtins.map (a: ''-L ${a}/lib'') [ - # add libraries here (e.g. pkgs.libvmi) - ]); - LD_LIBRARY_PATH = libPath; - # Add glibc, clang, glib, and other headers to bindgen search path - BINDGEN_EXTRA_CLANG_ARGS = - # Includes normal include path - (builtins.map (a: ''-I"${a}/include"'') [ - # add dev libraries here (e.g. pkgs.libvmi.dev) - pkgs.glibc.dev - ]) - # Includes with special directory paths - ++ [ - ''-I"${pkgs.llvmPackages_latest.libclang.lib}/lib/clang/${pkgs.llvmPackages_latest.libclang.version}/include"'' - ''-I"${pkgs.glib.dev}/include/glib-2.0"'' - ''-I${pkgs.glib.out}/lib/glib-2.0/include/'' - ]; - }; -} diff --git a/modules/_programs/theme.nix b/modules/_programs/theme.nix deleted file mode 100644 index b12f92b..0000000 --- a/modules/_programs/theme.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ pkgs, ... }: -{ - stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/everforest.yaml"; - stylix.image = ./wallpaper.jpg; -} diff --git a/modules/desktop/applications/office.nix b/modules/desktop/applications/office.nix new file mode 100644 index 0000000..d671fda --- /dev/null +++ b/modules/desktop/applications/office.nix @@ -0,0 +1,28 @@ +{ options, config, lib, pkgs, ... }: +let + inherit (lib.modules) mkIf mkForce mkMerge; + + cfg = config.modules.desktop.applications.steam; + desktop = config.modules.desktop; +in +{ + options.modules.desktop.applications.steam = let + inherit (lib.options) mkEnableOption; + in { + enable = mkEnableOption "Enable office suite (only-office)"; + }; + + config = mkIf cfg.enable + { + user.packages = attrValues { + inherit (pkgs) onlyoffice-bin; + }; + + nixpkgs.config.allowUnfreePredicate = pkg: + builtins.elem (lib.getName pkg) [ "corefonts" ]; + + fonts.packages = with pkgs; [ + corefonts + ]; + }; +} diff --git a/modules/desktop/applications/steam.nix b/modules/desktop/applications/steam.nix new file mode 100644 index 0000000..7770515 --- /dev/null +++ b/modules/desktop/applications/steam.nix @@ -0,0 +1,57 @@ +{ options, config, lib, pkgs, ... }: +let + inherit (lib.modules) mkIf mkForce mkMerge; + + cfg = config.modules.desktop.applications.steam; + desktop = config.modules.desktop; +in +{ + options.modules.desktop.applications.steam = let + inherit (lib.options) mkEnableOption; + in { + enable = mkEnableOption "Enable steam, the game/software store"; + hardware.enable = mkEnableOption "Support for steam hardware"; + }; + + config = mkIf cfg.enable (mkMerge [ + { + programs.steam = { + enable = true; + package = pkgs.steam-small.override { + extraEnv = { + DXVK_HUD = "compiler"; + MANGOHUD = true; + }; + }; + }; + hardware.steam-hardware.enable = mkForce cfg.hardware.enable; + + # https://github.com/FeralInteractive/gamemode + programs.gamemode = { + enable = true; + enableRenice = true; + settings = {}; + }; + } + + (mkIf (desktop.type == "wayland") { + # https://github.com/ValveSoftware/gamescope + programs.gamescope = { + enable = true; + capSysNice = true; + env = { + DXVK_HDR = "1"; + ENABLE_GAMESCOPE_WSI = "1"; + WINE_FULLSCREEN_FSR = "1"; + WLR_RENDERER = "vulkan"; + }; + args = ["--hdr-enabled"]; + }; + + programs.steam.gamescopeSession = { + enable = true; + args = ["--immediate-flips"]; + }; + }) + ]); +} diff --git a/modules/themes/stylix.nix b/modules/themes/stylix.nix new file mode 100644 index 0000000..1b1c5bf --- /dev/null +++ b/modules/themes/stylix.nix @@ -0,0 +1,5 @@ +{ pkgs, ... }: +{ +# stylix.base16Scheme = "${pkgs.base16-schemes}/share/themes/everforest.yaml"; +# stylix.image = ./wallpaper.jpg; +}