diff --git a/flake.lock b/flake.lock index 13094dd..01f4393 100644 --- a/flake.lock +++ b/flake.lock @@ -53,11 +53,11 @@ "yafas": "yafas" }, "locked": { - "lastModified": 1710954445, - "narHash": "sha256-vU2OGteZS6dMKZcu+btwsNN4HxIwhEb8dzP+h5NgKps=", + "lastModified": 1711229481, + "narHash": "sha256-mugLPd8wlCx1s1PDv/sIFJq5xK3sycf+fROFHvE8boE=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "2952a351037582a8aeb11be9cf57901d872bcf30", + "rev": "1520b69fa40d96c5e95b6e0da65831d3c7130fb0", "type": "github" }, "original": { @@ -368,11 +368,11 @@ ] }, "locked": { - "lastModified": 1711122977, - "narHash": "sha256-EnHux7wf7/7r+YMv8d/Ym1OTllp4sqqq0Bws1a4s2Zo=", + "lastModified": 1711133180, + "narHash": "sha256-WJOahf+6115+GMl3wUfURu8fszuNeJLv9qAWFQl3Vmo=", "owner": "nix-community", "repo": "home-manager", - "rev": "19b87b9ae6ecfd81104a2a36ef8364f1de1b54b1", + "rev": "1c2c5e4cabba4c43504ef0f8cc3f3dfa284e2dbb", "type": "github" }, "original": { @@ -601,11 +601,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1710783728, - "narHash": "sha256-eIsfu3c9JUBgm3cURSKTXLEI9Dlk1azo+MWKZVqrmkc=", + "lastModified": 1711274671, + "narHash": "sha256-19KQXya5VERUXOdeEJJN+zOqtvuE6MV3qTk9Gr4J9Uo=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "1e679b9a9970780cd5d4dfe755a74a8f96d33388", + "rev": "7559df1e4af972d5f1de87975b5ef6a8d7559db2", "type": "github" }, "original": { @@ -617,12 +617,12 @@ }, "nixpkgs": { "locked": { - "lastModified": 1710806803, - "narHash": "sha256-qrxvLS888pNJFwJdK+hf1wpRCSQcqA6W5+Ox202NDa0=", - "rev": "b06025f1533a1e07b6db3e75151caa155d1c7eb3", - "revCount": 598982, + "lastModified": 1711163522, + "narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=", + "rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4", + "revCount": 601756, "type": "tarball", - "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.598982%2Brev-b06025f1533a1e07b6db3e75151caa155d1c7eb3/018e577a-86bd-7b2f-b434-442e9ada5378/source.tar.gz" + "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.601756%2Brev-44d0940ea560dee511026a53f0e2e2cde489b4d4/018e6c73-b9c2-7b70-a778-9c1546525f10/source.tar.gz" }, "original": { "type": "tarball", @@ -692,11 +692,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1711001935, - "narHash": "sha256-URtGpHue7HHZK0mrHnSf8wJ6OmMKYSsoLmJybrOLFSQ=", + "lastModified": 1711163522, + "narHash": "sha256-YN/Ciidm+A0fmJPWlHBGvVkcarYWSC+s3NTPk/P+q3c=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "20f77aa09916374aa3141cbc605c955626762c9a", + "rev": "44d0940ea560dee511026a53f0e2e2cde489b4d4", "type": "github" }, "original": { diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix index 0efe93b..cadc0d5 100644 --- a/hosts/desktop/configuration.nix +++ b/hosts/desktop/configuration.nix @@ -8,6 +8,8 @@ let password = "$y$j9T$EkPXmsmIMFFZ.WRrBYCxS1$P0kwo6e4.WM5DsqUcEqWC3MrZp5KfCjxffraMFZWu06"; hostname = "matt-nixos"; + gnome = true; + plasma = false; in { imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix @@ -22,7 +24,7 @@ in { share.gaming.enable = true; - apps.discover-wrapped.enable = true; + apps.discover-wrapped.enable = plasma; chaotic = { nyx.cache.enable = true; @@ -70,14 +72,17 @@ in { xserver = { enable = true; - # Enable the Plasma 6 Desktop Environment. + # Enable Desktop Environment. displayManager = { - sddm.enable = true; - defaultSession = "plasma"; + gdm.enable = gnome; + sddm.enable = plasma; + defaultSession = if plasma then "plasma" else "gnome"; }; + + desktopManager.gnome.enable = gnome; }; - desktopManager.plasma6.enable = true; + desktopManager.plasma6.enable = plasma; # enable auto discovery of printers avahi = { @@ -132,7 +137,7 @@ in { time = { hardwareClockInLocalTime = true; }; # xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-kde ]; - xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; + # xdg.portal.extraPortals = mkIf plasma [ pkgs.xdg-desktop-portal-gtk ]; # Configure environment environment = { @@ -168,8 +173,7 @@ in { # Configure nixpkgs nixpkgs.config.permittedInsecurePackages = [ - # allow insecure electron for etcher - "electron-19.1.9" + # ... ]; # Define a user account. Don't forget to set a password with ‘passwd’. diff --git a/hosts/desktop/home.nix b/hosts/desktop/home.nix index adaedac..cb2464a 100644 --- a/hosts/desktop/home.nix +++ b/hosts/desktop/home.nix @@ -35,7 +35,6 @@ tree lm_sensors vmware-horizon-client - etcher freerdp neofetch # gamescope # using chaotic git version @@ -47,9 +46,44 @@ heroic python3 virt-manager - # orca-slicer + orca-slicer + vorta protonvpn-gui nixfmt deadnix + gnomeExtensions.dash-to-panel + gnomeExtensions.arcmenu + gnomeExtensions.appindicator + gnomeExtensions.tiling-assistant + gnome.gnome-tweaks + papirus-icon-theme + pop-gtk-theme ]; + + dconf = { + enable = true; + settings = { + "org/gnome/desktop/interface".clock-format = "12h"; + "org/gnome/desktop/interface".color-scheme = "prefer-dark"; + "org/gnome/desktop/interface".enable-hot-corners = false; + "org/gnome/desktop/interface".font-antialiasing = "grayscale"; + "org/gnome/desktop/interface".font-hinting = "slight"; + "org/gnome/desktop/interface".icon-theme = "Papirus-Dark"; + "org/gnome/desktop/peripherals/mouse".accel-profile = "flat"; + "org/gnome/desktop/peripherals/touchpad".two-finger-scrolling-enabled = true; + "org/gnome/desktop/peripherals/touchpad".tap-to-click = true; + "org/gnome/mutter".experimental-features = ["scale-monitor-framebuffer"]; + "org/gnome/tweaks".show-extensions-notice = false; + "org/gnome/shell".enabled-extensions = [ + "appindicatorsupport@rgcjonas.gmail.com" + "arcmenu@arcmenu.com" + "user-theme@gnome-shell-extensions.gcampax.github.com" + "dash-to-panel@jderose9.github.com" + "tiling-assistant@leleat-on-github" + ]; + "org/gnome/shell/extensions/dash-to-panel".primary-monitor = 0; + "org/gnome/shell/extensions/dash-to-panel".multi-monitors = false; + "org/gtk/settings/file-chooser".clock-format = "12h"; + }; + }; } diff --git a/hosts/nas/configuration.nix b/hosts/nas/configuration.nix index 49dc7e5..474d2f8 100644 --- a/hosts/nas/configuration.nix +++ b/hosts/nas/configuration.nix @@ -37,6 +37,8 @@ in { httpsPort = "9443"; }; + orca-slicer.enable = true; + swag.enable = true; }; diff --git a/modules/apps/orca-slicer/default.nix b/modules/apps/orca-slicer/default.nix new file mode 100644 index 0000000..6e2321a --- /dev/null +++ b/modules/apps/orca-slicer/default.nix @@ -0,0 +1,20 @@ +{ lib, pkgs, config, ... }: +with lib; +let cfg = config.nas-apps.orca-slicer; +in { + imports = [ ./options.nix ]; + + config = mkIf cfg.enable { + virtualisation.oci-containers.containers."${cfg.name}" = { + autoStart = cfg.autoStart; + image = cfg.image; + ports = [ "${cfg.httpPort}:3000" "${cfg.httpsPort}:3001" ]; + volumes = [ "${cfg.configPath}:/config" ]; + environment = { + PUID = cfg.puid; + PGID = cfg.pgid; + TZ = cfg.timeZone; + }; + }; + }; +} diff --git a/modules/apps/orca-slicer/options.nix b/modules/apps/orca-slicer/options.nix new file mode 100644 index 0000000..45ef551 --- /dev/null +++ b/modules/apps/orca-slicer/options.nix @@ -0,0 +1,51 @@ +{ lib, ... }: +with lib; { + options.nas-apps.orca-slicer = { + enable = mkEnableOption "orca slicer docker service"; + + autoStart = mkOption { + type = types.bool; + default = true; + }; + + httpPort = mkOption { + type = types.str; + default = "3000"; + }; + + httpsPort = mkOption { + type = types.str; + default = "3001"; + }; + + name = mkOption { + type = types.str; + default = "orca-slicer"; + }; + + image = mkOption { + type = types.str; + default = "linuxserver/orcaslicer"; + }; + + configPath = mkOption { + type = types.str; + default = "/mnt/ssd/ssd_app_data/orca-slicer"; + }; + + puid = mkOption { + type = types.str; + default = "911"; + }; + + pgid = mkOption { + type = types.str; + default = "1000"; + }; + + timeZone = mkOption { + type = types.str; + default = "America/Chicago"; + }; + }; +} diff --git a/modules/default.nix b/modules/default.nix index 110422e..8740495 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -8,6 +8,7 @@ ./apps/jellyseerr ./apps/mariadb ./apps/nextcloud + ./apps/orca-slicer ./apps/radarr ./apps/sabnzbd ./apps/sonarr