diff --git a/common/base-graphical/sound.nix b/common/base-graphical/sound.nix index 140eb93..bb0c847 100644 --- a/common/base-graphical/sound.nix +++ b/common/base-graphical/sound.nix @@ -14,7 +14,7 @@ in pulse.enable = true; jack.enable = true; }; - services.pulseaudio.enable = false; # this theoretically defaults to false but something else seems to be flipping it + hardware.pulseaudio.enable = false; # this theoretically defaults to false but something else seems to be flipping it environment.systemPackages = with pkgs; [ helvum ]; # patchbay }; } diff --git a/flake.lock b/flake.lock index 83eec1c..4ef400e 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,26 @@ { "nodes": { + "actual": { + "inputs": { + "nixpkgs": [ + "nixpkgs-unstable" + ] + }, + "locked": { + "lastModified": 1738814288, + "narHash": "sha256-4WqR/ligsEvxcFOjui1dwquR8U327uGoBjdI5p0ey4A=", + "ref": "main", + "rev": "f64adb78f15981d60af97e7aa691d2ebdf48ceaa", + "revCount": 21, + "type": "git", + "url": "https://git.xeno.science/xenofem/actual-nix" + }, + "original": { + "ref": "main", + "type": "git", + "url": "https://git.xeno.science/xenofem/actual-nix" + } + }, "agenix": { "inputs": { "darwin": [], @@ -159,16 +180,16 @@ ] }, "locked": { - "lastModified": 1748226808, - "narHash": "sha256-GaBRgxjWO1bAQa8P2+FDxG4ANBVhjnSjBms096qQdxo=", + "lastModified": 1747688870, + "narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=", "owner": "nix-community", "repo": "home-manager", - "rev": "83665c39fa688bd6a1f7c43cf7997a70f6a109f9", + "rev": "d5f1f641b289553927b3801580598d200a501863", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-25.05", + "ref": "release-24.11", "repo": "home-manager", "type": "github" } @@ -230,16 +251,16 @@ }, "nixpkgs": { "locked": { - "lastModified": 1748162331, - "narHash": "sha256-rqc2RKYTxP3tbjA+PB3VMRQNnjesrT0pEofXQTrMsS8=", + "lastModified": 1748037224, + "narHash": "sha256-92vihpZr6dwEMV6g98M5kHZIttrWahb9iRPBm1atcPk=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334", + "rev": "f09dede81861f3a83f7f06641ead34f02f37597f", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-25.05", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } @@ -261,16 +282,16 @@ }, "nixpkgs-small": { "locked": { - "lastModified": 1748387883, - "narHash": "sha256-X5P7guNZfXJrMH/zv3rHenjML5R0JXFD4EsulXDbl5U=", + "lastModified": 1748331950, + "narHash": "sha256-uMZpO4xycuXkwRTvjX9NyqVcIczOUYTnoct5xVUmbQQ=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d90ebe5aafcdd79dc9d4210aacf1ff21d4ca31c3", + "rev": "8c092804de127b5617972052ea46d499fb2fd424", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-25.05-small", + "ref": "nixos-24.11-small", "repo": "nixpkgs", "type": "github" } @@ -348,6 +369,7 @@ }, "root": { "inputs": { + "actual": "actual", "agenix": "agenix", "birdsong": "birdsong", "colmena": "colmena", diff --git a/flake.nix b/flake.nix index deed6a3..49684cc 100644 --- a/flake.nix +++ b/flake.nix @@ -1,7 +1,7 @@ { inputs = { - nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; - nixpkgs-small.url = "github:NixOS/nixpkgs/nixos-25.05-small"; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11"; + nixpkgs-small.url = "github:NixOS/nixpkgs/nixos-24.11-small"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-unstable-small.url = "github:NixOS/nixpkgs/nixos-unstable-small"; @@ -12,7 +12,7 @@ }; home-manager = { - url = "github:nix-community/home-manager/release-25.05"; + url = "github:nix-community/home-manager/release-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; @@ -54,6 +54,13 @@ inputs.nixpkgs.follows = "nixpkgs-unstable"; }; + # Third-party flake providing package and NixOS module for Actual Budget as + # nixpkgs are having trouble: https://github.com/NixOS/nixpkgs/issues/269069 + actual = { + url = "git+https://git.xeno.science/xenofem/actual-nix?ref=main"; + inputs.nixpkgs.follows = "nixpkgs-unstable"; + }; + birdsong.url = "git+https://git.qenya.tel/qenya/birdsong?ref=main"; scoutshonour = { @@ -150,6 +157,7 @@ inputs.home-manager.nixosModules.home-manager inputs.agenix.nixosModules.default inputs.birdsong.nixosModules.default + inputs.actual.nixosModules.default ./common ./services (builtins.toPath "${inputs.randomcat}/services/default.nix") diff --git a/home/qenya/firefox.nix b/home/qenya/firefox.nix index 603208a..96715e5 100644 --- a/home/qenya/firefox.nix +++ b/home/qenya/firefox.nix @@ -10,7 +10,7 @@ in languagePacks = [ "en-GB" ]; profiles.default = { - extensions.packages = with inputs.firefox-addons.packages.${pkgs.hostPlatform.system}; [ + extensions = with inputs.firefox-addons.packages.${pkgs.hostPlatform.system}; [ bitwarden ublock-origin ]; diff --git a/home/qenya/vscode.nix b/home/qenya/vscode.nix index 568913d..d190cbe 100644 --- a/home/qenya/vscode.nix +++ b/home/qenya/vscode.nix @@ -7,81 +7,79 @@ in { programs.vscode = mkIf isGraphical { enable = true; + enableExtensionUpdateCheck = false; + enableUpdateCheck = false; package = pkgs.vscodium; + extensions = with pkgs.vscode-extensions; [ + charliermarsh.ruff + dbaeumer.vscode-eslint + eamodio.gitlens + golang.go + jdinhlife.gruvbox + jnoortheen.nix-ide + matangover.mypy + mkhl.direnv + ms-python.black-formatter + ms-python.python + rust-lang.rust-analyzer + vadimcn.vscode-lldb + ]; mutableExtensionsDir = false; - profiles.default = { - enableExtensionUpdateCheck = false; - enableUpdateCheck = false; - extensions = with pkgs.vscode-extensions; [ - charliermarsh.ruff - dbaeumer.vscode-eslint - eamodio.gitlens - golang.go - jdinhlife.gruvbox - jnoortheen.nix-ide - matangover.mypy - mkhl.direnv - ms-python.black-formatter - ms-python.python - rust-lang.rust-analyzer - vadimcn.vscode-lldb - ]; - userSettings = { - "css.format.spaceAroundSelectorSeparator" = true; - "css.format.newlineBetweenSelectors" = false; - "debug.allowBreakpointsEverywhere" = true; - "extensions.autoUpdate" = false; - "files.insertFinalNewline" = true; - "git.autofetch" = true; - "git.confirmSync" = false; - "git.enableSmartCommit" = true; - "git.inputValidation" = true; - "git.inputValidationSubjectLength" = null; - "javascript.updateImportsOnFileMove.enabled" = "always"; - "nix.enableLanguageServer" = true; - "nix.serverPath" = "${pkgs.nil}/bin/nil"; - "nix.serverSettings".nil = { - diagnostics.ignored = [ "unused_binding" "unused_with" ]; - formatting.command = [ "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt" ]; - nix.flake.autoArchive = true; - }; - "rust-analyzer.check.command" = "clippy"; - "terminal.integrated.allowChords" = false; - "terminal.integrated.defaultProfile.linux" = "zsh"; - "workbench.colorTheme" = "Gruvbox Dark Medium"; - - "[go]" = { - "editor.defaultFormatter" = "golang.go"; - "editor.formatOnSave" = false; - }; - "go.alternateTools" = { - "go" = "${pkgs.go}/bin/go"; - "golangci-lint" = "${pkgs.golangci-lint}/bin/golangci-lint"; - "gopls" = "${pkgs.gopls}/bin/gopls"; - "dlv" = "${pkgs.delve}/bin/dlv"; - "staticcheck" = "${pkgs.go-tools}/bin/staticcheck"; - }; - "go.lintTool" = "golangci-lint"; - "go.toolsManagement.checkForUpdates" = "off"; - "gopls" = { - "formatting.gofumpt" = true; - "ui.semanticTokens" = true; - }; - - "[python]" = { - "editor.defaultFormatter" = "ms-python.black-formatter"; - "editor.formatOnSave" = true; - "editor.codeActionsOnSave" = { - "source.fixAll" = "explicit"; - "source.organizeImports" = "explicit"; - }; - }; - "python.createEnvironment.contentButton" = "show"; - "python.defaultInterpreterPath" = "${pkgs.python3}/bin/python"; - "ruff.nativeServer" = "on"; - "ruff.path" = [ "${pkgs.ruff}/bin/ruff" ]; - "mypy.dmypyExecutable" = "${pkgs.mypy}/bin/dmypy"; + userSettings = { + "css.format.spaceAroundSelectorSeparator" = true; + "css.format.newlineBetweenSelectors" = false; + "debug.allowBreakpointsEverywhere" = true; + "extensions.autoUpdate" = false; + "files.insertFinalNewline" = true; + "git.autofetch" = true; + "git.confirmSync" = false; + "git.enableSmartCommit" = true; + "git.inputValidation" = true; + "git.inputValidationSubjectLength" = null; + "javascript.updateImportsOnFileMove.enabled" = "always"; + "nix.enableLanguageServer" = true; + "nix.serverPath" = "${pkgs.nil}/bin/nil"; + "nix.serverSettings".nil = { + diagnostics.ignored = [ "unused_binding" "unused_with" ]; + formatting.command = [ "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt" ]; + nix.flake.autoArchive = true; }; + "rust-analyzer.check.command" = "clippy"; + "terminal.integrated.allowChords" = false; + "terminal.integrated.defaultProfile.linux" = "zsh"; + "workbench.colorTheme" = "Gruvbox Dark Medium"; + + "[go]" = { + "editor.defaultFormatter" = "golang.go"; + "editor.formatOnSave" = false; + }; + "go.alternateTools" = { + "go" = "${pkgs.go}/bin/go"; + "golangci-lint" = "${pkgs.golangci-lint}/bin/golangci-lint"; + "gopls" = "${pkgs.gopls}/bin/gopls"; + "dlv" = "${pkgs.delve}/bin/dlv"; + "staticcheck" = "${pkgs.go-tools}/bin/staticcheck"; + }; + "go.lintTool" = "golangci-lint"; + "go.toolsManagement.checkForUpdates" = "off"; + "gopls" = { + "formatting.gofumpt" = true; + "ui.semanticTokens" = true; + }; + + "[python]" = { + "editor.defaultFormatter" = "ms-python.black-formatter"; + "editor.formatOnSave" = true; + "editor.codeActionsOnSave" = { + "source.fixAll" = "explicit"; + "source.organizeImports" = "explicit"; + }; + }; + "python.createEnvironment.contentButton" = "show"; + "python.defaultInterpreterPath" = "${pkgs.python3}/bin/python"; + "ruff.nativeServer" = "on"; + "ruff.path" = "${pkgs.ruff}/bin/ruff"; + "mypy.dmypyExecutable" = "${pkgs.mypy}/bin/dmypy"; }; }; } diff --git a/home/qenya/zsh.nix b/home/qenya/zsh.nix index e7e550b..d322889 100644 --- a/home/qenya/zsh.nix +++ b/home/qenya/zsh.nix @@ -31,7 +31,7 @@ theme = ""; # defer to powerlevel10k }; - initContent = '' + initExtra = '' source ${pkgs.zsh-powerlevel10k}/share/zsh-powerlevel10k/powerlevel10k.zsh-theme source ${./.p10k.zsh} ''; diff --git a/hosts/orm/default.nix b/hosts/orm/default.nix index d2b6298..ffc6aad 100644 --- a/hosts/orm/default.nix +++ b/hosts/orm/default.nix @@ -24,7 +24,7 @@ randomcat.services.zfs.datasets = { "rpool_orm/state" = { mountpoint = "none"; }; - "rpool_orm/state/actual" = { mountpoint = "/var/lib/private/actual"; }; + "rpool_orm/state/actual" = { mountpoint = "/var/lib/actual"; }; "rpool_orm/state/postgresql" = { mountpoint = "/var/lib/postgresql"; }; }; diff --git a/services/actual.nix b/services/actual.nix index 3a006ea..b46540e 100644 --- a/services/actual.nix +++ b/services/actual.nix @@ -26,9 +26,6 @@ in networking.firewall.allowedTCPPorts = [ 80 443 ]; - services.actual = { - enable = true; - settings.port = 5006; - }; + services.actual.enable = true; }; }