Compare commits
2 Commits
df2ee459a1
...
571fb2ff99
| Author | SHA1 | Date | |
|---|---|---|---|
|
571fb2ff99
|
|||
|
2204b12fad
|
@@ -1,6 +1,7 @@
|
|||||||
# nix fmt & statix
|
# nix fmt & statix
|
||||||
f011c8d71ba09bd94ab04b8d771858b90a03fbf9
|
f011c8d71ba09bd94ab04b8d771858b90a03fbf9
|
||||||
3aff25b4486a143cd6282f8845c16216598e1c7e
|
3aff25b4486a143cd6282f8845c16216598e1c7e
|
||||||
|
2204b12fadf27886058e6945806ce93a547f5278
|
||||||
|
|
||||||
# host rename
|
# host rename
|
||||||
cfe4c43887a41e52be4e6472474c0fc3788f86e8
|
cfe4c43887a41e52be4e6472474c0fc3788f86e8
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
{
|
{
|
||||||
nixos =
|
nixos =
|
||||||
{ config, lib, inputs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.features.bootloader;
|
cfg = config.features.bootloader;
|
||||||
in
|
in
|
||||||
@@ -19,7 +24,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
config = lib.mkIf cfg.enable (
|
||||||
|
lib.mkMerge [
|
||||||
{
|
{
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
}
|
}
|
||||||
@@ -35,6 +41,7 @@
|
|||||||
pkiBundle = "/var/lib/sbctl";
|
pkiBundle = "/var/lib/sbctl";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
]);
|
]
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,12 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
home =
|
home =
|
||||||
{ pkgs, lib, osConfig, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = osConfig.features.claude;
|
cfg = osConfig.features.claude;
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -1,6 +1,12 @@
|
|||||||
{
|
{
|
||||||
nixos =
|
nixos =
|
||||||
{ config, lib, pkgs, inputs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.features.desktop;
|
cfg = config.features.desktop;
|
||||||
in
|
in
|
||||||
@@ -49,7 +55,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
config = lib.mkIf cfg.enable (
|
||||||
|
lib.mkMerge [
|
||||||
# base desktop
|
# base desktop
|
||||||
{
|
{
|
||||||
security.polkit.enable = true;
|
security.polkit.enable = true;
|
||||||
@@ -72,7 +79,7 @@
|
|||||||
|
|
||||||
stylix = {
|
stylix = {
|
||||||
enable = true;
|
enable = true;
|
||||||
polarity = cfg.theme.polarity;
|
inherit (cfg.theme) polarity;
|
||||||
image = cfg.theme.wallpaper;
|
image = cfg.theme.wallpaper;
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/${cfg.theme.scheme}.yaml";
|
base16Scheme = "${pkgs.base16-schemes}/share/themes/${cfg.theme.scheme}.yaml";
|
||||||
};
|
};
|
||||||
@@ -136,11 +143,17 @@
|
|||||||
inputs.self.outputs.packages.${pkgs.stdenv.hostPlatform.system}.ca-matheo-si
|
inputs.self.outputs.packages.${pkgs.stdenv.hostPlatform.system}.ca-matheo-si
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
]);
|
]
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
home =
|
home =
|
||||||
{ lib, inputs, osConfig, ... }:
|
{
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = osConfig.features.desktop;
|
cfg = osConfig.features.desktop;
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -6,7 +6,13 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
home =
|
home =
|
||||||
{ pkgs, lib, inputs, osConfig, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = osConfig.features.dev;
|
cfg = osConfig.features.dev;
|
||||||
packages = inputs.self.outputs.packages.${pkgs.stdenv.hostPlatform.system};
|
packages = inputs.self.outputs.packages.${pkgs.stdenv.hostPlatform.system};
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
{
|
{
|
||||||
nixos =
|
nixos =
|
||||||
{ config, lib, inputs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.features.direnv;
|
cfg = config.features.direnv;
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
{
|
{
|
||||||
nixos =
|
nixos =
|
||||||
{ config, lib, user, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
user,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.features.docker;
|
cfg = config.features.docker;
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
{
|
{
|
||||||
nixos =
|
nixos =
|
||||||
{ config, lib, userKeys, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
userKeys,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.features.filedrop;
|
cfg = config.features.filedrop;
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
{
|
{
|
||||||
nixos =
|
nixos =
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.features.gaming;
|
cfg = config.features.gaming;
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -6,7 +6,13 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
home =
|
home =
|
||||||
{ pkgs, lib, inputs, osConfig, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = osConfig.features.git;
|
cfg = osConfig.features.git;
|
||||||
packages = inputs.self.outputs.packages.${pkgs.stdenv.hostPlatform.system};
|
packages = inputs.self.outputs.packages.${pkgs.stdenv.hostPlatform.system};
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
{
|
{
|
||||||
nixos =
|
nixos =
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.features.gnupg;
|
cfg = config.features.gnupg;
|
||||||
in
|
in
|
||||||
@@ -14,7 +19,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
config = lib.mkIf cfg.enable (
|
||||||
|
lib.mkMerge [
|
||||||
{
|
{
|
||||||
programs.gnupg.agent = {
|
programs.gnupg.agent = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -31,6 +37,7 @@
|
|||||||
|
|
||||||
services.pcscd.enable = true;
|
services.pcscd.enable = true;
|
||||||
})
|
})
|
||||||
]);
|
]
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,8 @@
|
|||||||
cfg = osConfig.features.neovim;
|
cfg = osConfig.features.neovim;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
config = lib.mkIf cfg.enable (
|
||||||
|
lib.mkMerge [
|
||||||
(lib.optionalAttrs (options ? stylix) {
|
(lib.optionalAttrs (options ? stylix) {
|
||||||
# disable stylix neovim target when stylix is present
|
# disable stylix neovim target when stylix is present
|
||||||
stylix.targets.neovim.enable = false;
|
stylix.targets.neovim.enable = false;
|
||||||
@@ -74,6 +75,7 @@
|
|||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
]);
|
]
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,14 +41,12 @@
|
|||||||
];
|
];
|
||||||
download-buffer-size = 2 * 1024 * 1024 * 1024;
|
download-buffer-size = 2 * 1024 * 1024 * 1024;
|
||||||
warn-dirty = false;
|
warn-dirty = false;
|
||||||
substituters =
|
substituters = [
|
||||||
[
|
|
||||||
"https://cache.nixos.org"
|
"https://cache.nixos.org"
|
||||||
"https://nix-community.cachix.org?priority=45"
|
"https://nix-community.cachix.org?priority=45"
|
||||||
]
|
]
|
||||||
++ lib.optional cfg.towerCache.enable "http://tower:5000?priority=50";
|
++ lib.optional cfg.towerCache.enable "http://tower:5000?priority=50";
|
||||||
trusted-public-keys =
|
trusted-public-keys = [
|
||||||
[
|
|
||||||
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
|
||||||
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
|
||||||
]
|
]
|
||||||
@@ -57,13 +55,13 @@
|
|||||||
|
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
dates = cfg.gc.dates;
|
inherit (cfg.gc) dates;
|
||||||
options = "--delete-older-than ${cfg.gc.olderThan}";
|
options = "--delete-older-than ${cfg.gc.olderThan}";
|
||||||
};
|
};
|
||||||
|
|
||||||
optimise = {
|
optimise = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
dates = cfg.optimise.dates;
|
inherit (cfg.optimise) dates;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
{
|
{
|
||||||
nixos =
|
nixos =
|
||||||
{ config, lib, user, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
user,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.features.onepassword;
|
cfg = config.features.onepassword;
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
{
|
{
|
||||||
nixos =
|
nixos =
|
||||||
{ config, lib, user, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
user,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.features.remote-base;
|
cfg = config.features.remote-base;
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -6,7 +6,12 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
home =
|
home =
|
||||||
{ pkgs, lib, osConfig, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = osConfig.features.shell;
|
cfg = osConfig.features.shell;
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
{
|
{
|
||||||
nixos =
|
nixos =
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.features.sway;
|
cfg = config.features.sway;
|
||||||
desktopCfg = config.features.desktop;
|
desktopCfg = config.features.desktop;
|
||||||
@@ -15,7 +20,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
config = lib.mkIf cfg.enable (
|
||||||
|
lib.mkMerge [
|
||||||
{
|
{
|
||||||
# soft dependency
|
# soft dependency
|
||||||
features.desktop.enable = lib.mkDefault true;
|
features.desktop.enable = lib.mkDefault true;
|
||||||
@@ -86,6 +92,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
]);
|
]
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
{
|
{
|
||||||
nixos =
|
nixos =
|
||||||
{ config, lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.features.udev;
|
cfg = config.features.udev;
|
||||||
in
|
in
|
||||||
@@ -24,7 +29,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
config = lib.mkIf cfg.enable (
|
||||||
|
lib.mkMerge [
|
||||||
(lib.mkIf cfg.kindle.enable {
|
(lib.mkIf cfg.kindle.enable {
|
||||||
# NOTE:(@janezicmatej) uses services.udev.packages instead of extraRules
|
# NOTE:(@janezicmatej) uses services.udev.packages instead of extraRules
|
||||||
# because extraRules writes to 99-local.rules which is too late for uaccess
|
# because extraRules writes to 99-local.rules which is too late for uaccess
|
||||||
@@ -47,6 +53,7 @@
|
|||||||
(lib.mkIf cfg.keyboard-zsa.enable {
|
(lib.mkIf cfg.keyboard-zsa.enable {
|
||||||
hardware.keyboard.zsa.enable = true;
|
hardware.keyboard.zsa.enable = true;
|
||||||
})
|
})
|
||||||
]);
|
]
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,9 +9,7 @@ in
|
|||||||
sshAuthorizedKeys = sshKeys;
|
sshAuthorizedKeys = sshKeys;
|
||||||
};
|
};
|
||||||
|
|
||||||
nixos =
|
nixos = _: {
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
users.users.matej = {
|
users.users.matej = {
|
||||||
uid = 1000;
|
uid = 1000;
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
|
|||||||
@@ -40,7 +40,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
config = lib.mkIf cfg.enable (
|
||||||
|
lib.mkMerge [
|
||||||
{
|
{
|
||||||
services.qemuGuest.enable = true;
|
services.qemuGuest.enable = true;
|
||||||
services.spice-vdagentd.enable = lib.mkIf (!cfg.headless) true;
|
services.spice-vdagentd.enable = lib.mkIf (!cfg.headless) true;
|
||||||
@@ -110,6 +111,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
]);
|
]
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,12 @@
|
|||||||
{
|
{
|
||||||
nixos =
|
nixos =
|
||||||
{ config, lib, pkgs, user, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
user,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = config.features.zsh;
|
cfg = config.features.zsh;
|
||||||
in
|
in
|
||||||
@@ -15,7 +21,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
config = lib.mkIf cfg.enable (
|
||||||
|
lib.mkMerge [
|
||||||
{
|
{
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
environment.etc."zshenv".text = ''
|
environment.etc."zshenv".text = ''
|
||||||
@@ -26,11 +33,17 @@
|
|||||||
(lib.mkIf cfg.loginShell.enable {
|
(lib.mkIf cfg.loginShell.enable {
|
||||||
users.users.${user}.shell = pkgs.zsh;
|
users.users.${user}.shell = pkgs.zsh;
|
||||||
})
|
})
|
||||||
]);
|
]
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
home =
|
home =
|
||||||
{ pkgs, lib, osConfig, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
cfg = osConfig.features.zsh;
|
cfg = osConfig.features.zsh;
|
||||||
in
|
in
|
||||||
|
|||||||
@@ -75,9 +75,11 @@
|
|||||||
# TODO:(@janezicmatej) replace ssh with virtio-console (hvc0) when qemu 11.0 lands
|
# TODO:(@janezicmatej) replace ssh with virtio-console (hvc0) when qemu 11.0 lands
|
||||||
# https://www.mail-archive.com/qemu-devel@nongnu.org/msg1162844.html
|
# https://www.mail-archive.com/qemu-devel@nongnu.org/msg1162844.html
|
||||||
# accept any ssh key (ephemeral localhost-only vm)
|
# accept any ssh key (ephemeral localhost-only vm)
|
||||||
services.openssh.settings.AuthorizedKeysCommand = let
|
services.openssh.settings.AuthorizedKeysCommand =
|
||||||
|
let
|
||||||
acceptKey = pkgs.writeShellScript "ephvm-accept-key" ''echo "$1 $2"'';
|
acceptKey = pkgs.writeShellScript "ephvm-accept-key" ''echo "$1 $2"'';
|
||||||
in "${acceptKey} %t %k";
|
in
|
||||||
|
"${acceptKey} %t %k";
|
||||||
services.openssh.settings.AuthorizedKeysCommandUser = "nobody";
|
services.openssh.settings.AuthorizedKeysCommandUser = "nobody";
|
||||||
|
|
||||||
# writable claude config via 9p
|
# writable claude config via 9p
|
||||||
|
|||||||
@@ -79,8 +79,7 @@ let
|
|||||||
in
|
in
|
||||||
nixpkgs.lib.nixosSystem {
|
nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
modules =
|
modules = [
|
||||||
[
|
|
||||||
inputs.sops-nix.nixosModules.sops
|
inputs.sops-nix.nixosModules.sops
|
||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user