diff --git a/hosts/workstation/configuration.nix b/hosts/workstation/configuration.nix index 641a39e..5477aa0 100644 --- a/hosts/workstation/configuration.nix +++ b/hosts/workstation/configuration.nix @@ -3,6 +3,17 @@ inputs, ... }: +let + krita-thumbnailer = pkgs.writeTextFile { + name = "krita-thumbnailer"; + destination = "/share/thumbnailers/kra.thumbnailer"; + text = '' + [Thumbnailer Entry] + Exec=sh -c "${pkgs.unzip}/bin/unzip -p %i preview.png > %o" + MimeType=application/x-krita; + ''; + }; +in { imports = [ ./hardware-configuration.nix @@ -19,54 +30,18 @@ installBatSyntax = true; installVimSyntax = true; }; - xdg.configFile."jellyfin-rpc/main.json".text = builtins.toJSON { - jellyfin = { - url = "https://flix.servidos.lat"; - api_key = "abe7cdf35e5c453a9bceb004f4792b4a"; - username = "jawz"; - music = { - display = [ - "year" - "album" - ]; - separator = "-"; - }; - }; - discord = { - application_id = "1311453366978875392"; - buttons = [ - { - name = "dynamic"; - url = "dynamic"; - } - { - name = "dynamic"; - url = "dynamic"; - } - ]; - }; - imgur = { - client_id = "1ca05dbfc674d39"; - }; - images = { - enable_images = true; - imgur_images = true; - }; - }; }; networking = { hostName = "workstation"; firewall = let - openPorts = [ - 6674 # ns-usbloader - ]; - openPortRanges = [ - { - from = 1714; # kdeconnect - to = 1764; # kdeconnect - } - ]; + kdeconnectPortRange = { + from = 1714; + to = 1764; + }; + ns-usbloaderPort = 6674; + openPorts = [ ns-usbloaderPort ]; + openPortRanges = [ kdeconnectPortRange ]; in { allowedTCPPorts = openPorts; @@ -79,7 +54,6 @@ cores = 8; max-jobs = 8; }; - nixpkgs.config.permittedInsecurePackages = [ ]; users = { groups.nixremote.gid = 555; users = { @@ -104,28 +78,17 @@ }; environment = { pathsToLink = [ "share/thumbnailers" ]; - systemPackages = - builtins.attrValues { - # thumbnail for heif files & videos - inherit (pkgs) - libheif - ffmpegthumbnailer - bign-handheld-thumbnailer - gnome-epub-thumbnailer - ; - inherit (pkgs.libheif) out; - } - ++ [ - (pkgs.writeTextFile { - name = "krita-thumbnailer"; - destination = "/share/thumbnailers/kra.thumbnailer"; - text = '' - [Thumbnailer Entry] - Exec=sh -c "${pkgs.unzip}/bin/unzip -p %i preview.png > %o" - MimeType=application/x-krita; - ''; - }) - ]; + systemPackages = builtins.attrValues { + # thumbnail for heif files & videos + inherit krita-thumbnailer; + inherit (pkgs) + libheif + ffmpegthumbnailer + bign-handheld-thumbnailer + gnome-epub-thumbnailer + ; + inherit (pkgs.libheif) out; + }; etc."wireplumber/bluetooth.lua.d/51-bluez-config.lua".text = '' bluez_monitor.properties = { ["bluez5.enable-sbc-xq"] = true, @@ -149,7 +112,6 @@ obs-vkcapture obs-vaapi obs-tuna - # looking-glass-obs input-overlay ; }; diff --git a/modules/apps/art.nix b/modules/apps/art.nix index c304948..22c2714 100644 --- a/modules/apps/art.nix +++ b/modules/apps/art.nix @@ -13,38 +13,32 @@ let patches = (old.patches or [ ]) ++ [ ../../patches/libpng.patch ]; }); }; + attrValuesIf = cond: attrs: if cond then builtins.attrValues attrs else [ ]; + artPackages = attrValuesIf config.my.apps.art.enable { + inherit patched-krita; # art to your heart desire! + inherit (pkgs) + eyedropper # color picker + emulsion-palette # self explanatory + gimp # the coolest bestest art program to never exist + mypaint # not the best art program + mypaint-brushes # but it's got some + mypaint-brushes1 # nice damn brushes + blender # cgi animation and sculpting + drawpile # arty party with friends!! + pureref # create inspiration/reference boards + ; + }; + gameDevPackages = attrValuesIf config.my.dev.gameDev.enable { + inherit (pkgs) + godot_4 # game development + gdtoolkit_4 # gdscript language server + ; + }; in { options.my = { apps.art.enable = lib.mkEnableOption "enable"; dev.gameDev.enable = lib.mkEnableOption "enable"; }; - config = lib.mkIf config.my.apps.art.enable { - users.users.jawz.packages = - builtins.attrValues { - inherit patched-krita; # art to your heart desire! - inherit (pkgs) - eyedropper # color picker - emulsion-palette # self explanatory - gimp # the coolest bestest art program to never exist - mypaint # not the best art program - mypaint-brushes # but it's got some - mypaint-brushes1 # nice damn brushes - blender # cgi animation and sculpting - drawpile # arty party with friends!! - pureref # create inspiration/reference boards - ; - } - ++ ( - if config.my.dev.gameDev.enable then - builtins.attrValues { - inherit (pkgs) - godot_4 # game development - gdtoolkit_4 # gdscript language server - ; - } - else - [ ] - ); - }; + config.users.users.jawz.packages = artPackages ++ gameDevPackages; } diff --git a/modules/dev/emacs.nix b/modules/dev/emacs.nix index 94c933e..709f9a0 100644 --- a/modules/dev/emacs.nix +++ b/modules/dev/emacs.nix @@ -46,6 +46,7 @@ }; services.emacs = { enable = true; + defaultEditor = true; package = pkgs.emacsWithDoom { doomDir = ../../dotfiles/doom; doomLocalDir = "/home/jawz/.local/share/nix-doom"; @@ -58,23 +59,17 @@ extraConfig ; extra = extraPackages epkgs; + themes = lib.optional config.stylix.enable [ + (epkgs.trivialBuild { + pname = "stylix-theme"; + src = pkgs.writeText "stylix-theme.el" extraConfig; + version = "0.1.0"; + packageRequires = extra; + }) + ]; in - extra - ++ ( - if config.stylix.enable then - [ - (epkgs.trivialBuild { - pname = "stylix-theme"; - src = pkgs.writeText "stylix-theme.el" extraConfig; - version = "0.1.0"; - packageRequires = extra; - }) - ] - else - [ ] - ); + extra ++ themes; }; - defaultEditor = true; }; }; } diff --git a/modules/servers/jellyfin.nix b/modules/servers/jellyfin.nix index a140099..dcebb0d 100644 --- a/modules/servers/jellyfin.nix +++ b/modules/servers/jellyfin.nix @@ -27,7 +27,7 @@ in networking.firewall.allowedTCPPorts = lib.mkIf (!cfg.isLocal) [ cfg.port ]; environment = { systemPackages = lib.mkIf cfg.enable ( - [ pkgs.jellyfin-ffmpeg ] ++ (if cfg.enableCron then sub-sync-path else [ ]) + [ pkgs.jellyfin-ffmpeg ] ++ (lib.optional cfg.enableCron [ sub-sync-path ]) ); }; services = {