diff --git a/flake.lock b/flake.lock index c0af2d43..82487b32 100644 --- a/flake.lock +++ b/flake.lock @@ -212,11 +212,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1758955069, - "narHash": "sha256-YYIsyGsTiQ2aKoEmYaqRqe44yE3TjpzirR35Cqj50LU=", + "lastModified": 1759041587, + "narHash": "sha256-Icdbi+eADlwHIWiP/5Gv8DXrQwSUFqItFG36Xvg64hc=", "owner": "nix-community", "repo": "fenix", - "rev": "73494b26b031328fd959e7a3da0f9fdc8957d86c", + "rev": "fbb23b6565adb3f1533f14fbdb48b81bf10997ec", "type": "github" }, "original": { @@ -610,11 +610,11 @@ ] }, "locked": { - "lastModified": 1758997081, - "narHash": "sha256-c4SbPEbR9yP5erODj4niMO7N+2ONEoGnWnt5hauAHRg=", + "lastModified": 1759043321, + "narHash": "sha256-Efi3THvsIS6Qd97s52/PSSHWybDlSbtUZXP8l3AR9Ps=", "owner": "nix-community", "repo": "home-manager", - "rev": "26ace005b720b7628fdf2d4923e7feecdd1631c4", + "rev": "c75fd8e300b79502b8eecdacd8a426b12fadb460", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 644a6d0e..2be71e75 100644 --- a/flake.nix +++ b/flake.nix @@ -1,8 +1,9 @@ { description = "cnix nix"; - outputs = inputs: - inputs.flake-parts.lib.mkFlake {inherit inputs;} { + outputs = + inputs: + inputs.flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "x86_64-linux" "aarch64-linux" @@ -16,23 +17,25 @@ ./fmt-hooks.nix ]; - perSystem = { - config, - pkgs, - ... - }: { - devShells.default = pkgs.mkShell { - packages = [ - pkgs.git - config.packages.repl - ]; - name = "dots"; - env.DIRENV_LOG_FORMAT = ""; - shellHook = '' - ${config.pre-commit.installationScript} - ''; + perSystem = + { + config, + pkgs, + ... + }: + { + devShells.default = pkgs.mkShell { + packages = [ + pkgs.git + config.packages.repl + ]; + name = "dots"; + env.DIRENV_LOG_FORMAT = ""; + shellHook = '' + ${config.pre-commit.installationScript} + ''; + }; }; - }; }; inputs = { diff --git a/hosts/default.nix b/hosts/default.nix index f9126462..13f0224a 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -4,111 +4,114 @@ homeImports, self, ... -}: { - flake.nixosConfigurations = let - cLib = import ../lib inputs.nixpkgs.lib; - userConfig = "${self}/home"; - systemConfig = "${self}/system"; - hostConfig = "${self}/hosts"; +}: +{ + flake.nixosConfigurations = + let + cLib = import ../lib inputs.nixpkgs.lib; + userConfig = "${self}/home"; + systemConfig = "${self}/system"; + hostConfig = "${self}/hosts"; - cnstConfig = "${self}/users/cnst"; - toothpickConfig = "${self}/users/toothpick"; + cnstConfig = "${self}/users/cnst"; + toothpickConfig = "${self}/users/toothpick"; - umodPath = "${self}/modules/home"; - smodPath = "${self}/modules/system"; + umodPath = "${self}/modules/home"; + smodPath = "${self}/modules/system"; - inherit (inputs.nixpkgs.lib) nixosSystem; - inherit (self) outputs; + inherit (inputs.nixpkgs.lib) nixosSystem; + inherit (self) outputs; - specialArgs = { - inherit - cLib - inputs - outputs - self - userConfig - systemConfig - hostConfig - cnstConfig - toothpickConfig - umodPath - smodPath - ; + specialArgs = { + inherit + cLib + inputs + outputs + self + userConfig + systemConfig + hostConfig + cnstConfig + toothpickConfig + umodPath + smodPath + ; + }; + in + { + kima = nixosSystem { + inherit specialArgs; + modules = [ + ./kima + "${self}/nix" + { + home-manager = { + users.cnst.imports = homeImports."cnst@kima"; + extraSpecialArgs = specialArgs; + }; + } + self.nixosModules.nixos + self.nixosModules.settings + inputs.chaotic.nixosModules.default + inputs.agenix.nixosModules.default + ]; + }; + bunk = nixosSystem { + inherit specialArgs; + modules = [ + ./bunk + "${self}/nix" + { + home-manager = { + users.cnst.imports = homeImports."cnst@bunk"; + extraSpecialArgs = specialArgs; + }; + } + self.nixosModules.nixos + self.nixosModules.settings + inputs.chaotic.nixosModules.default + inputs.agenix.nixosModules.default + ]; + }; + sobotka = nixosSystem { + inherit specialArgs; + modules = [ + ./sobotka + "${self}/nix" + self.nixosModules.nixos + self.nixosModules.settings + self.nixosModules.server + inputs.agenix.nixosModules.default + inputs.authentik.nixosModules.default + ]; + }; + ziggy = nixosSystem { + inherit specialArgs; + modules = [ + ./ziggy + "${self}/nix" + self.nixosModules.nixos + self.nixosModules.settings + self.nixosModules.server + inputs.agenix.nixosModules.default + ]; + }; + toothpc = nixosSystem { + inherit specialArgs; + modules = [ + ./toothpc + "${self}/nix" + { + home-manager = { + users.toothpick.imports = homeImports."toothpick@toothpc"; + extraSpecialArgs = specialArgs; + }; + } + self.nixosModules.nixos + self.nixosModules.settings + inputs.chaotic.nixosModules.default + inputs.agenix.nixosModules.default + ]; + }; }; - in { - kima = nixosSystem { - inherit specialArgs; - modules = [ - ./kima - "${self}/nix" - { - home-manager = { - users.cnst.imports = homeImports."cnst@kima"; - extraSpecialArgs = specialArgs; - }; - } - self.nixosModules.nixos - self.nixosModules.settings - inputs.chaotic.nixosModules.default - inputs.agenix.nixosModules.default - ]; - }; - bunk = nixosSystem { - inherit specialArgs; - modules = [ - ./bunk - "${self}/nix" - { - home-manager = { - users.cnst.imports = homeImports."cnst@bunk"; - extraSpecialArgs = specialArgs; - }; - } - self.nixosModules.nixos - self.nixosModules.settings - inputs.chaotic.nixosModules.default - inputs.agenix.nixosModules.default - ]; - }; - sobotka = nixosSystem { - inherit specialArgs; - modules = [ - ./sobotka - "${self}/nix" - self.nixosModules.nixos - self.nixosModules.settings - self.nixosModules.server - inputs.agenix.nixosModules.default - inputs.authentik.nixosModules.default - ]; - }; - ziggy = nixosSystem { - inherit specialArgs; - modules = [ - ./ziggy - "${self}/nix" - self.nixosModules.nixos - self.nixosModules.settings - self.nixosModules.server - inputs.agenix.nixosModules.default - ]; - }; - toothpc = nixosSystem { - inherit specialArgs; - modules = [ - ./toothpc - "${self}/nix" - { - home-manager = { - users.toothpick.imports = homeImports."toothpick@toothpc"; - extraSpecialArgs = specialArgs; - }; - } - self.nixosModules.nixos - self.nixosModules.settings - inputs.chaotic.nixosModules.default - inputs.agenix.nixosModules.default - ]; - }; - }; } diff --git a/modules/home/programs/mpv/default.nix b/modules/home/programs/mpv/default.nix index f1132a41..6922c638 100644 --- a/modules/home/programs/mpv/default.nix +++ b/modules/home/programs/mpv/default.nix @@ -7,6 +7,9 @@ let inherit (lib) mkIf mkEnableOption; cfg = config.home.programs.mpv; + inherit (config.xdg.userDirs) videos; + inherit (config.home) homeDirectory; + shaders_dir = "${pkgs.mpv-shim-default-shaders}/share/mpv-shim-default-shaders/shaders"; in { options = { @@ -15,8 +18,71 @@ in config = mkIf cfg.enable { programs.mpv = { enable = true; - defaultProfiles = [ "gpu-hq" ]; - scripts = [ pkgs.mpvScripts.mpris ]; + config = { + profile = "gpu-hq"; + gpu-context = "wayland"; + vo = "gpu-next"; + video-sync = "display-resample"; + interpolation = true; + tscale = "oversample"; + fullscreen = false; + keep-open = true; + sub-auto = "fuzzy"; + sub-font = "Noto Sans Medium"; + sub-blur = 10; + + screenshot-format = "png"; + + title = "\${filename} - mpv"; + script-opts = "osc-title=\${filename},osc-boxalpha=150,osc-visibility=never,osc-boxvideo=yes"; + ytdl-format = "bestvideo[height<=?1440]+bestaudio/best"; + ao = "pipewire"; + alang = "eng,en"; + slang = "eng,en,enUS"; + + glsl-shader = "${homeDirectory}/.config/mpv/shaders/FSR.glsl"; + scale = "lanczos"; + cscale = "lanczos"; + dscale = "mitchell"; + deband = "yes"; + scale-antiring = 1; + + osc = "no"; + osd-on-seek = "no"; + osd-bar = "no"; + osd-bar-w = 30; + osd-bar-h = "0.2"; + osd-duration = 750; + + really-quiet = "yes"; + autofit = "65%"; + }; + + bindings = { + "ctrl+a" = "script-message osc-visibility cycle"; + }; + scripts = with pkgs.mpvScripts; [ + mpris + uosc + thumbfast + sponsorblock + autocrop + ]; + }; + programs.yt-dlp = { + enable = true; + extraConfig = '' + -o ${videos}/youtube/%(title)s.%(ext)s + ''; + }; + + home = { + file = { + ".config/mpv/shaders/FSR.glsl".source = "${shaders_dir}/FSR.glsl"; + }; + packages = with pkgs; [ + jellyfin-mpv-shim + ]; }; }; } diff --git a/modules/server/gitea/default.nix.bak b/modules/server/gitea/default.nix.bak deleted file mode 100644 index 1d0d88af..00000000 --- a/modules/server/gitea/default.nix.bak +++ /dev/null @@ -1,119 +0,0 @@ -# taken from @jtojnar -{ - config, - lib, - ... -}: let - unit = "gitea"; - srv = config.server; - cfg = config.server.${unit}; -in { - options.server.${unit} = { - enable = lib.mkEnableOption { - description = "Enable ${unit}"; - }; - url = lib.mkOption { - type = lib.types.str; - default = "git.${srv.domain}"; - }; - port = lib.mkOption { - type = lib.types.int; - default = 5003; - description = "The port to host Gitea on."; - }; - homepage.name = lib.mkOption { - type = lib.types.str; - default = "Gitea"; - }; - homepage.description = lib.mkOption { - type = lib.types.str; - default = "Git with a cup of tea"; - }; - homepage.icon = lib.mkOption { - type = lib.types.str; - default = "gitea.svg"; - }; - homepage.category = lib.mkOption { - type = lib.types.str; - default = "Services"; - }; - }; - config = lib.mkIf cfg.enable { - services.${unit} = { - enable = true; - appName = "cnix code forge"; - - database = { - type = "postgres"; - socket = "/run/postgresql"; - name = "gitea"; - user = "gitea"; - createDatabase = false; - }; - - lfs = { - enable = true; - }; - - settings = { - cors = { - ENABLED = true; - SCHEME = "https"; - ALLOW_DOMAIN = cfg.url; - }; - log = { - MODE = "console"; - }; - mailer = { - ENABLED = false; - MAILER_TYPE = "sendmail"; - FROM = "noreply+adam@cnst.dev"; - SENDMAIL_PATH = "/run/wrappers/bin/sendmail"; - }; - picture = { - DISABLE_GRAVATAR = true; - }; - repository = { - DEFAULT_BRANCH = "main"; - DEFAULT_REPO_UNITS = "repo.code,repo.issues,repo.pulls"; - DISABLE_DOWNLOAD_SOURCE_ARCHIVES = true; - }; - indexer = { - REPO_INDEXER_ENABLED = true; - }; - server = { - DOMAIN = cfg.url; - LANDING_PAGE = "explore"; - HTTP_PORT = cfg.port; - ROOT_URL = "https://${cfg.url}/"; - }; - security = { - DISABLE_GIT_HOOKS = false; - }; - service = { - DISABLE_REGISTRATION = true; - }; - session = { - COOKIE_SECURE = true; - }; - }; - }; - - services.traefik.dynamicConfigOptions.http.routers."${unit}" = { - rule = "Host(`" + cfg.url + "`)"; - service = "${unit}-service"; - entryPoints = ["websecure"]; - tls = {}; - }; - - services.traefik.dynamicConfigOptions.http.services."${unit}-service".loadBalancer.servers = [ - {url = "http://127.0.0.1:${toString cfg.port}";} - ]; - - server.postgresql.databases = [ - { - database = "gitea"; - } - ]; - }; -} diff --git a/users/cnst/default.nix b/users/cnst/default.nix index 0aa2f0a5..afb4b4aa 100644 --- a/users/cnst/default.nix +++ b/users/cnst/default.nix @@ -23,6 +23,5 @@ json.enable = false; manpages.enable = false; }; - programs.home-manager.enable = true; }