Compare commits

..

No commits in common. "5543cf819fa3a81eebeecc1048cd19677b9fb593" and "2e8bf92703aeddcf94abb35dece8b5846f4fa626" have entirely different histories.

5 changed files with 98 additions and 346 deletions

296
flake.lock generated
View file

@ -12,17 +12,15 @@
"nixpkgs": [
"nixpkgs"
],
"pyproject-build-systems": "pyproject-build-systems",
"pyproject-nix": "pyproject-nix",
"systems": "systems",
"uv2nix": "uv2nix"
"poetry2nix": "poetry2nix",
"systems": "systems"
},
"locked": {
"lastModified": 1747386678,
"narHash": "sha256-+4pIDo56iXWUklX1U+biw/cfC8TiSXTMh2N6V/+JMUg=",
"lastModified": 1745851830,
"narHash": "sha256-DHVRLCKoJYrysppygOZrmg6UngrlTN+M4t8HaOiQQfU=",
"owner": "nix-community",
"repo": "authentik-nix",
"rev": "f20474660332903be6b47f3c1fdfc531f6f75f1d",
"rev": "618330bee6b5e284499b5f85b74cbdfe6f873d6e",
"type": "github"
},
"original": {
@ -34,16 +32,16 @@
"authentik-src": {
"flake": false,
"locked": {
"lastModified": 1747329052,
"narHash": "sha256-idShMSYIrf3ViG9VFNGNu6TSjBz3Q+GJMMeCzcJwfG4=",
"lastModified": 1744135136,
"narHash": "sha256-7wvoCRhLipX4qzrb/ctsozG565yckx+moxiF6vRo84I=",
"owner": "goauthentik",
"repo": "authentik",
"rev": "ae47624761f05040149d856d5e55a90cd7492740",
"rev": "74eab55c615b156e4191ee98dc789e2d58c016f9",
"type": "github"
},
"original": {
"owner": "goauthentik",
"ref": "version/2025.4.1",
"ref": "version/2025.2.4",
"repo": "authentik",
"type": "github"
}
@ -67,11 +65,11 @@
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github"
},
"original": {
@ -82,11 +80,11 @@
},
"flake-compat_2": {
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github"
},
"original": {
@ -154,87 +152,6 @@
"type": "github"
}
},
"flake-utils_3": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flakey-profile": {
"locked": {
"lastModified": 1712898590,
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
"owner": "lf-",
"repo": "flakey-profile",
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
"type": "github"
},
"original": {
"owner": "lf-",
"repo": "flakey-profile",
"type": "github"
}
},
"git-hooks": {
"inputs": {
"flake-compat": [
"mailserver",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"mailserver",
"nixpkgs"
]
},
"locked": {
"lastModified": 1742649964,
"narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"mailserver",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
@ -242,11 +159,11 @@
]
},
"locked": {
"lastModified": 1747439237,
"narHash": "sha256-5rCGrnkglKKj4cav1U3HC+SIUNJh08pqOK4spQv9RjA=",
"lastModified": 1745987135,
"narHash": "sha256-8Up4QPuMZEJBU0eefAY+nUe7DYKQQzvaHnMpNdwRgKA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "ae755329092c87369b9e9a1510a8cf1ce2b1c708",
"rev": "d2b3e6c83d457aa0e7f9344c61c3fed32bad0f7e",
"type": "github"
},
"original": {
@ -256,59 +173,23 @@
"type": "github"
}
},
"lix": {
"flake": false,
"locked": {
"lastModified": 1746827285,
"narHash": "sha256-hsFe4Tsqqg4l+FfQWphDtjC79WzNCZbEFhHI8j2KJzw=",
"rev": "47aad376c87e2e65967f17099277428e4b3f8e5a",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/47aad376c87e2e65967f17099277428e4b3f8e5a.tar.gz?rev=47aad376c87e2e65967f17099277428e4b3f8e5a"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/lix/archive/2.93.0.tar.gz"
}
},
"lix-module": {
"inputs": {
"flake-utils": "flake-utils_3",
"flakey-profile": "flakey-profile",
"lix": "lix",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1746838955,
"narHash": "sha256-11R4K3iAx4tLXjUs+hQ5K90JwDABD/XHhsM9nkeS5N8=",
"rev": "cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/cd2a9c028df820a83ca2807dc6c6e7abc3dfa7fc.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz"
}
},
"mailserver": {
"inputs": {
"blobs": "blobs",
"flake-compat": [
"flake-compat"
],
"git-hooks": "git-hooks",
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-24_11": "nixpkgs-24_11"
},
"locked": {
"lastModified": 1747320434,
"narHash": "sha256-wOW99SCOovRlX5y8+W1cRrS3mEN1QA0XTHMRfr3NMB8=",
"lastModified": 1745416927,
"narHash": "sha256-jg725STLRgsIAgrvjbRJQEP0F0w+rmvDJ64EN65p6EI=",
"owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver",
"rev": "433520257af7170824ab6e567d49b8e305e776e9",
"rev": "ab52efd622a9f7dca269a49edbbea6b6b7294f57",
"type": "gitlab"
},
"original": {
@ -359,13 +240,35 @@
"url": "https://git.lgmrszd.xyz/lgmrszd/nix-cfg-extra-public.git"
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"authentik-nix",
"poetry2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1729742964,
"narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=",
"owner": "nix-community",
"repo": "nix-github-actions",
"rev": "e04df33f62cdcf93d73e9a04142464753a16db67",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-github-actions",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1747327360,
"narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=",
"lastModified": 1745930157,
"narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46",
"rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae",
"type": "github"
},
"original": {
@ -377,18 +280,17 @@
},
"nixpkgs-24_11": {
"locked": {
"lastModified": 1747209494,
"narHash": "sha256-fLise+ys+bpyjuUUkbwqo5W/UyIELvRz9lPBPoB0fbM=",
"lastModified": 1734083684,
"narHash": "sha256-5fNndbndxSx5d+C/D0p/VF32xDiJCJzyOqorOYW4JEo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5d736263df906c5da72ab0f372427814de2f52f8",
"rev": "314e12ba369ccdb9b352a4db26ff419f7c49fa84",
"type": "github"
},
"original": {
"owner": "NixOS",
"id": "nixpkgs",
"ref": "nixos-24.11",
"repo": "nixpkgs",
"type": "github"
"type": "indirect"
}
},
"nixpkgs-lib": {
@ -422,53 +324,34 @@
"type": "github"
}
},
"pyproject-build-systems": {
"poetry2nix": {
"inputs": {
"flake-utils": [
"authentik-nix",
"flake-utils"
],
"nix-github-actions": "nix-github-actions",
"nixpkgs": [
"authentik-nix",
"nixpkgs"
],
"pyproject-nix": [
"systems": [
"authentik-nix",
"pyproject-nix"
"systems"
],
"uv2nix": [
"authentik-nix",
"uv2nix"
]
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1744599653,
"narHash": "sha256-nysSwVVjG4hKoOjhjvE6U5lIKA8sEr1d1QzEfZsannU=",
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"rev": "7dba6dbc73120e15b558754c26024f6c93015dd7",
"lastModified": 1743690424,
"narHash": "sha256-cX98bUuKuihOaRp8dNV1Mq7u6/CQZWTPth2IJPATBXc=",
"owner": "nix-community",
"repo": "poetry2nix",
"rev": "ce2369db77f45688172384bbeb962bc6c2ea6f94",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"type": "github"
}
},
"pyproject-nix": {
"inputs": {
"nixpkgs": [
"authentik-nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1746540146,
"narHash": "sha256-QxdHGNpbicIrw5t6U3x+ZxeY/7IEJ6lYbvsjXmcxFIM=",
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"rev": "e09c10c24ebb955125fda449939bfba664c467fd",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"owner": "nix-community",
"repo": "poetry2nix",
"type": "github"
}
},
@ -479,13 +362,12 @@
"flake-parts": "flake-parts",
"flake-utils": "flake-utils_2",
"home-manager": "home-manager",
"lix-module": "lix-module",
"mailserver": "mailserver",
"nix-cfg-extra": "nix-cfg-extra",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable",
"sops-nix": "sops-nix",
"systems": "systems_3",
"systems": "systems_2",
"vscode-server": "vscode-server"
}
},
@ -496,11 +378,11 @@
]
},
"locked": {
"lastModified": 1746485181,
"narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=",
"lastModified": 1745310711,
"narHash": "sha256-ePyTpKEJTgX0gvgNQWd7tQYQ3glIkbqcW778RpHlqgA=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "e93ee1d900ad264d65e9701a5c6f895683433386",
"rev": "5e3e92b16d6fdf9923425a8d4df7496b2434f39c",
"type": "github"
},
"original": {
@ -539,43 +421,25 @@
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"uv2nix": {
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"authentik-nix",
"poetry2nix",
"nixpkgs"
],
"pyproject-nix": [
"authentik-nix",
"pyproject-nix"
]
},
"locked": {
"lastModified": 1746649034,
"narHash": "sha256-gmv+ZiY3pQnwgI0Gm3Z1tNSux1CnOJ0De+xeDOol1+0=",
"owner": "pyproject-nix",
"repo": "uv2nix",
"rev": "fe540e91c26f378c62bf6da365a97e848434d0cd",
"lastModified": 1730120726,
"narHash": "sha256-LqHYIxMrl/1p3/kvm2ir925tZ8DkI0KA10djk8wecSk=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "9ef337e492a5555d8e17a51c911ff1f02635be15",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "uv2nix",
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},

View file

@ -36,18 +36,12 @@
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
};
lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.0.tar.gz";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-cfg-extra.url = "git+https://git.lgmrszd.xyz/lgmrszd/nix-cfg-extra-public.git";
};
outputs = inputs@{
nixpkgs,
lix-module,
nixpkgs-stable,
home-manager,
sops-nix,
@ -102,7 +96,6 @@
specialArgs = { inherit data; inherit mylib; };
modules = [
{ nixpkgs.overlays = my-overlays; }
lix-module.nixosModules.default
./hosts/${host}/configuration.nix
./hosts/${host}/hardware-configuration.nix
sops-nix.nixosModules.sops

View file

@ -10,7 +10,6 @@ in
{
imports = [
./thinkfan.nix
./mounts.nix
./akkotest.nix
];
@ -95,8 +94,7 @@ in
login.u2fAuth = true;
sudo.u2fAuth = true;
doas.u2fAuth = true;
sddm.fprintAuth = lib.mkForce false;
} // lib.attrsets.genAttrs ["sudo" "doas" "kde" "polkit-1"] (service: { rules.auth.fprintd.order = config.security.pam.services.${service}.rules.auth.u2f.order - 100;});
};
security.pam.u2f = {
enable = true;
settings = {
@ -202,8 +200,15 @@ in
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_MEASUREMENTS = "en_DK.UTF-8";
LC_TIME = "en_DK.UTF-8";
# LC_ADDRESS = "ru_RU.UTF-8";
# LC_IDENTIFICATION = "ru_RU.UTF-8";
# LC_MEASUREMENT = "ru_RU.UTF-8";
# LC_MONETARY = "ru_RU.UTF-8";
# LC_NAME = "ru_RU.UTF-8";
# LC_NUMERIC = "ru_RU.UTF-8";
# LC_PAPER = "ru_RU.UTF-8";
# LC_TELEPHONE = "ru_RU.UTF-8";
LC_TIME = "ru_RU.UTF-8";
};
# Enable the X11 windowing system.
@ -290,7 +295,7 @@ in
# services.printing.enable = true;
# Enable sound.
services.pulseaudio.enable = false;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
@ -305,6 +310,11 @@ in
#media-session.enable = true;
};
services.thinkfan = {
enable = true;
};
# Enable touchpad support (enabled default in most desktopManager).
services.libinput.enable = true;
@ -403,7 +413,7 @@ in
];
environment.variables.EDITOR = "vim";
environment.variables.NH_FLAKE = "/home/lgm/nixos-cfg";
environment.variables.FLAKE = "/home/lgm/nixos-cfg?submodules=1";
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
@ -451,13 +461,6 @@ in
enable = true;
};
systemd.services.fprintd = {
wantedBy = [ "multi-user.target" ];
serviceConfig.Type = "simple";
};
services.fprintd.enable = true;
hardware.bluetooth.enable = true;
hardware.bluetooth.powerOnBoot = true;

View file

@ -200,11 +200,6 @@
};
programs.floorp = {
enable = true;
};
# ---------
programs.java = {
@ -242,7 +237,7 @@
programs.vscode = {
enable = true;
package = pkgs.vscodium;
profiles.default.extensions = with pkgs.vscode-extensions; [
extensions = with pkgs.vscode-extensions; [
jnoortheen.nix-ide
];
};

View file

@ -1,103 +0,0 @@
{
services.thinkfan = {
enable = true;
# https://wiki.archlinux.org/title/Lenovo_ThinkPad_P15_Gen_1
sensors = [
# # NVIDIA GPU
# {
# query = "01:00.0";
# type = "nvml";
# }
# acpitz
# crit = 128°C
{
query = "/sys/class/hwmon";
type = "hwmon";
name = "acpitz";
indices = [1];
correction = [0];
}
# pch_cometlake
{
query = "/sys/devices/virtual/thermal";
type = "hwmon";
name = "pch_cometlake";
indices = [1];
correction = [0];
}
# # nvme
# # high = 85°C
# {
# query = "/sys/devices/pci0000:00/0000:00:1d.0/0000:55:00.0/nvme/nvme1";
# type = "hwmon";
# name = "nvme";
# indices = [2 3];
# correction = [0 0];
# }
# # nvme
# # high = 85°C
# {
# query = "/sys/devices/pci0000:00/0000:00:1b.0/0000:02:00.0/nvme/nvme0";
# type = "hwmon";
# name = "nvme";
# indices = [2 3];
# correction = [0 0];
# }
# coretemp
# high = 100°C, crit = 100°C.
{
query = "/sys/devices/platform/coretemp.0/hwmon";
type = "hwmon";
name = "coretemp";
indices = [1 2 3 4 5 6 7 8 9];
correction = [0 0 0 0 0 0 0 0 0];
}
# thinkpad
{
query = "/sys/devices/platform/thinkpad_hwmon/hwmon";
type = "hwmon";
indices = [1 2 3 4 5 6];
correction = [0 0 0 0 0 0];
}
# thinkpad
{
query = "/sys/devices/platform/thinkpad_hwmon/hwmon";
type = "hwmon";
indices = [7];
correction = [0];
}
# thinkpad
{
query = "/sys/devices/platform/thinkpad_hwmon/hwmon";
type = "hwmon";
optional = true;
indices = [8];
correction = [0];
}
# iwlwifi_1
{
query = "/sys/class/hwmon";
type = "hwmon";
name = "iwlwifi_1";
optional = true;
indices = [1];
correction = [0];
}
];
fans = [
{
query = "/proc/acpi/ibm/fan";
type = "tpacpi";
}
];
levels = [
[0 0 60]
[2 58 67]
[3 63 72]
[5 68 77]
[6 73 82]
[7 78 83]
["level disengaged" 80 255]
];
};
}