Compare commits

..

4 commits

11 changed files with 88 additions and 28 deletions

View file

@ -18,9 +18,7 @@ in {
home.packages = lib.lists.optionals userConfig.isDesktopUser ( home.packages = lib.lists.optionals userConfig.isDesktopUser (
with pkgs; [ with pkgs; [
ungoogled-chromium ungoogled-chromium
krita
gnomeExtensions.dash-to-panel gnomeExtensions.dash-to-panel
(lib.mkIf hardware.piperMouse.enable piper)
] ]
); );
@ -61,6 +59,8 @@ in {
makemkv.enable = true; makemkv.enable = true;
signal-desktop-bin.enable = true; signal-desktop-bin.enable = true;
steam.enable = true; steam.enable = true;
piper.enable = hardware.piperMouse.enable;
krita.enable = true;
}) })
]; ];
}; };

View file

@ -36,6 +36,7 @@ in {
protonvpn-gui.enable = true; protonvpn-gui.enable = true;
dbeaver-bin.enable = true; dbeaver-bin.enable = true;
bruno.enable = true; bruno.enable = true;
piper.enable = hardware.piperMouse.enable;
}) })
(lib.mkIf (hardware.directAccess.enable && config.user.isDesktopUser) { (lib.mkIf (hardware.directAccess.enable && config.user.isDesktopUser) {
anki.enable = true; anki.enable = true;
@ -48,6 +49,7 @@ in {
vscode.enable = true; vscode.enable = true;
firefox.enable = true; firefox.enable = true;
steam.enable = true; steam.enable = true;
krita.enable = true;
}) })
]; ];
} }
@ -76,7 +78,6 @@ in {
libreoffice libreoffice
inkscape inkscape
gimp gimp
krita
freecad freecad
# cura # cura
# kicad-small # kicad-small
@ -105,7 +106,6 @@ in {
noisetorch noisetorch
# hardware management tools # hardware management tools
(lib.mkIf hardware.piperMouse.enable piper)
(lib.mkIf hardware.openRGB.enable openrgb) (lib.mkIf hardware.openRGB.enable openrgb)
(lib.mkIf hardware.viaKeyboard.enable via) (lib.mkIf hardware.viaKeyboard.enable via)

View file

@ -296,7 +296,7 @@
extensions = { extensions = {
sonos.enable = true; sonos.enable = true;
jellyfin.enable = true; jellyfin.enable = true;
wyoming.enable = true; wyoming.enable = false; # Temporarily disabled due to dependency conflict in wyoming-piper
}; };
}; };

View file

@ -27,7 +27,7 @@
# Enable this if you have graphical corruption issues or application crashes after waking # Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials. # of just the bare essentials.
powerManagement.enable = false; powerManagement.enable = true;
# Fine-grained power management. Turns off GPU when not in use. # Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer). # Experimental and only works on modern Nvidia GPUs (Turing or newer).

View file

@ -21,7 +21,7 @@
# Enable this if you have graphical corruption issues or application crashes after waking # Enable this if you have graphical corruption issues or application crashes after waking
# up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead # up from sleep. This fixes it by saving the entire VRAM memory to /tmp/ instead
# of just the bare essentials. # of just the bare essentials.
powerManagement.enable = false; powerManagement.enable = true;
# Fine-grained power management. Turns off GPU when not in use. # Fine-grained power management. Turns off GPU when not in use.
# Experimental and only works on modern Nvidia GPUs (Turing or newer). # Experimental and only works on modern Nvidia GPUs (Turing or newer).

36
flake.lock generated
View file

@ -25,11 +25,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1755519972, "lastModified": 1756733629,
"narHash": "sha256-bU4nqi3IpsUZJeyS8Jk85ytlX61i4b0KCxXX9YcOgVc=", "narHash": "sha256-dwWGlDhcO5SMIvMSTB4mjQ5Pvo2vtxvpIknhVnSz2I8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "4073ff2f481f9ef3501678ff479ed81402caae6d", "rev": "a5c4f2ab72e3d1ab43e3e65aa421c6f2bd2e12a1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -46,11 +46,11 @@
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1755921820, "lastModified": 1756699417,
"narHash": "sha256-xTRXoaGtuIi4VvJNGuHC8DPHnEIJUqVtt7kqU8MdXes=", "narHash": "sha256-rpRy5ae5ijEGaK+Cr66NqCQJ6ZeUE5Zi8gUWgKhesto=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "c43149f02063de9b0d75c2b45f54631bd82667b2", "rev": "007b803d1eff595d25e7886e83054dbd038bf029",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -118,11 +118,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1755914636, "lastModified": 1756734952,
"narHash": "sha256-VJ+Gm6YsHlPfUCpmRQxvdiZW7H3YPSrdVOewQHAhZN8=", "narHash": "sha256-H6jmduj4QIncLPAPODPSG/8ry9lpr1kRq6fYytU52qU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "8b55a6ac58b678199e5bba701aaff69e2b3281c0", "rev": "29ab63bbb3d9eee4a491f7ce701b189becd34068",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -217,11 +217,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1755914146, "lastModified": 1756692643,
"narHash": "sha256-ew98ilw4NTodKlILnr3ndsT0Aj9JhqC507JB3efa0pY=", "narHash": "sha256-SVos3AYuLvF6bD8Y0b6EiLABoEaiAOa4M/fTCBe0FV8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-vscode-extensions", "repo": "nix-vscode-extensions",
"rev": "ff42a421ff1d415caa0125e6af6f3bd82e642838", "rev": "2f1d16db96f1ce8ee3c893ea9dc49c0035846988",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -232,11 +232,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1755330281, "lastModified": 1756245047,
"narHash": "sha256-aJHFJWP9AuI8jUGzI77LYcSlkA9wJnOIg4ZqftwNGXA=", "narHash": "sha256-9bHzrVbjAudbO8q4vYFBWlEkDam31fsz0J7GB8k4AsI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "3dac8a872557e0ca8c083cdcfc2f218d18e113b0", "rev": "a65b650d6981e23edd1afa1f01eb942f19cdcbb7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -264,11 +264,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1755615617, "lastModified": 1756542300,
"narHash": "sha256-HMwfAJBdrr8wXAkbGhtcby1zGFvs+StOp19xNsbqdOg=", "narHash": "sha256-tlOn88coG5fzdyqz6R93SQL5Gpq+m/DsWpekNFhqPQk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "20075955deac2583bb12f07151c2df830ef346b4", "rev": "d7600c775f877cd87b4f5a831c28aa94137377aa",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -45,8 +45,13 @@
services.ssh-agent.enable = true; services.ssh-agent.enable = true;
programs.ssh = { programs.ssh = {
enable = true; enable = true;
enableDefaultConfig = false;
matchBlocks = {
"*" = {
compression = true; compression = true;
addKeysToAgent = "confirm"; addKeysToAgent = "confirm";
};
};
extraConfig = lib.strings.concatLines ( extraConfig = lib.strings.concatLines (
builtins.map (hostKey: "IdentityFile ~/.ssh/${hostKey.path}") config.programs.openssh.hostKeys builtins.map (hostKey: "IdentityFile ~/.ssh/${hostKey.path}") config.programs.openssh.hostKeys
); );

View file

@ -6,11 +6,13 @@
./makemkv.nix ./makemkv.nix
./obs.nix ./obs.nix
./anki.nix ./anki.nix
./piper.nix
./qbittorrent.nix ./qbittorrent.nix
./discord.nix ./discord.nix
./obsidian.nix ./obsidian.nix
./prostudiomasters.nix ./prostudiomasters.nix
./idea.nix ./idea.nix
./krita.nix
./protonvpn.nix ./protonvpn.nix
./calibre.nix ./calibre.nix
./bruno.nix ./bruno.nix

View file

@ -0,0 +1,30 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.krita = {
enable = lib.mkEnableOption "enable krita";
};
config = lib.mkIf config.programs.krita.enable (lib.mkMerge [
{
home.packages = with pkgs; [
krita
];
}
(
lib.mkIf osConfig.host.impermanence.enable {
home.persistence."/persist${config.home.homeDirectory}" = {
directories = [
"${config.xdg.configHome}/kritarc"
"${config.xdg.dataHome}/krita"
];
allowOther = true;
};
}
)
]);
}

View file

@ -0,0 +1,17 @@
{
lib,
pkgs,
config,
osConfig,
...
}: {
options.programs.piper = {
enable = lib.mkEnableOption "enable piper";
};
config = lib.mkIf config.programs.piper.enable {
home.packages = with pkgs; [
piper
];
};
}

View file

@ -19,6 +19,12 @@ in {
config = lib.mkIf config.services.forgejo.enable (lib.mkMerge [ config = lib.mkIf config.services.forgejo.enable (lib.mkMerge [
{ {
assertions = [
{
assertion = config.services.forgejo.settings.server.BUILTIN_SSH_SERVER_USER == config.users.users.git.name;
message = "Forgejo BUILTIN_SSH_SERVER_USER hardcoded value does not match expected git user name";
}
];
host = { host = {
reverse_proxy.subdomains.${config.services.forgejo.subdomain} = { reverse_proxy.subdomains.${config.services.forgejo.subdomain} = {
target = "http://localhost:${toString forgejoPort}"; target = "http://localhost:${toString forgejoPort}";
@ -52,7 +58,7 @@ in {
START_SSH_SERVER = true; START_SSH_SERVER = true;
SSH_LISTEN_PORT = sshPort; SSH_LISTEN_PORT = sshPort;
SSH_PORT = 22; SSH_PORT = 22;
BUILTIN_SSH_SERVER_USER = config.users.users.git.name; BUILTIN_SSH_SERVER_USER = "git";
ROOT_URL = "https://git.jan-leila.com"; ROOT_URL = "https://git.jan-leila.com";
}; };
service = { service = {