summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAzat Bahawi <azat@bahawi.net>2024-06-27 18:10:21 +0300
committerAzat Bahawi <azat@bahawi.net>2024-06-27 18:10:21 +0300
commitb212b16a14ea12384c4b19ad453076502855a738 (patch)
treedefd42780c334342e82d59ac927ae070e9af5fd7
parent75918debfd7245d90478f882b0323a705ab3c7be (diff)
2024-06-27
-rw-r--r--configurations/default.nix1
-rw-r--r--configurations/ilmare/acpi.cpiobin0 -> 326656 bytes
-rw-r--r--configurations/ilmare/default.nix121
-rw-r--r--configurations/melian/default.nix102
-rw-r--r--flake.lock21
-rw-r--r--flake.nix7
-rw-r--r--modules/common/kernel.nix56
-rw-r--r--modules/common/nix.nix3
-rw-r--r--modules/common/users.nix5
-rw-r--r--modules/emacs/default.nix2
-rw-r--r--modules/emacs/doom/init.el2
-rw-r--r--modules/games/steam-run.nix13
-rw-r--r--modules/games/steam.nix1
-rw-r--r--modules/profiles/default.nix1
-rw-r--r--modules/profiles/headful.nix3
15 files changed, 184 insertions, 154 deletions
diff --git a/configurations/default.nix b/configurations/default.nix
index 7e2f6d7..1f43cb7 100644
--- a/configurations/default.nix
+++ b/configurations/default.nix
@@ -67,6 +67,7 @@ mapAttrs' mkConfiguration (
];
ilmare.modules = with inputs; [
+ disko.nixosModules.disko
nixos-hardware.nixosModules.lenovo-thinkpad-x1-nano
nixpkgs.nixosModules.notDetected
srvos.nixosModules.common
diff --git a/configurations/ilmare/acpi.cpio b/configurations/ilmare/acpi.cpio
new file mode 100644
index 0000000..c4327e5
--- /dev/null
+++ b/configurations/ilmare/acpi.cpio
Binary files differ
diff --git a/configurations/ilmare/default.nix b/configurations/ilmare/default.nix
new file mode 100644
index 0000000..8daa584
--- /dev/null
+++ b/configurations/ilmare/default.nix
@@ -0,0 +1,121 @@
+_: {
+ nixfiles.modules = {
+ wireguard.client.enable = true;
+
+ syncthing.enable = true;
+
+ android.enable = true;
+ bluetooth.enable = true;
+ };
+
+ hardware.trackpoint = {
+ enable = true;
+ speed = 500;
+ sensitivity = 250;
+ };
+
+ services = {
+ thinkfan = {
+ enable = true;
+ settings = {
+ sensors = [
+ {
+ hwmon = "/sys/class/hwmon";
+ name = "coretemp";
+ indices = [ 1 ];
+ }
+ ];
+ fans = [ { tpacpi = "/proc/acpi/ibm/fan"; } ];
+ levels = [
+ [
+ "level auto"
+ 0
+ 50
+ ]
+ [
+ "level disengaged"
+ 50
+ 32767
+ ]
+ ];
+ };
+ };
+
+ fprintd.enable = true;
+
+ fwupd.enable = true;
+ };
+
+ boot = {
+ kernelParams = [ "mem_sleep_default=deep" ];
+ initrd.prepend = [ "${./acpi.cpio}" ];
+ };
+
+ disko.devices.disk.one = {
+ type = "disk";
+ device = "/dev/nvme0n1";
+ content = {
+ type = "gpt";
+ partitions = {
+ ESP = {
+ size = "512M";
+ type = "EF00";
+ content = {
+ type = "filesystem";
+ format = "vfat";
+ mountpoint = "/boot";
+ };
+ };
+ LUKS = {
+ size = "100%";
+ content = {
+ type = "luks";
+ name = "cryptos";
+ settings = {
+ allowDiscards = true;
+ bypassWorkqueues = true;
+ };
+ content = {
+ type = "btrfs";
+ extraArgs = [ "-f" ];
+ subvolumes = {
+ "/root" = {
+ mountpoint = "/";
+ mountOptions = [
+ "compress=zstd"
+ "noatime"
+ ];
+ };
+ "/nix" = {
+ mountpoint = "/nix";
+ mountOptions = [
+ "compress=zstd"
+ "noatime"
+ ];
+ };
+ "/home" = {
+ mountpoint = "/home";
+ mountOptions = [
+ "compress=zstd"
+ "noatime"
+ ];
+ };
+ "/swap" = {
+ mountpoint = "/.swapvol";
+ swap.swapfile.size = "16G";
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+ };
+
+ fileSystems."/home".neededForBoot = true;
+
+ zramSwap = {
+ enable = true;
+ memoryPercent = 100;
+ };
+}
diff --git a/configurations/melian/default.nix b/configurations/melian/default.nix
deleted file mode 100644
index 0d50f9f..0000000
--- a/configurations/melian/default.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{ lib, pkgs, ... }:
-with lib;
-{
- nixfiles.modules = {
- wireguard.client.enable = true;
-
- syncthing.enable = true;
-
- android.enable = true;
- bluetooth.enable = true;
- throttled.enable = true;
- };
-
- hardware.trackpoint = {
- enable = true;
- speed = 500;
- sensitivity = 250;
- };
-
- powerManagement =
- let
- modprobe = getExe' pkgs.kmod "modprobe";
- in
- {
- enable = true;
-
- # This fixes an issue with not being able to suspend or wake up from
- # suspend due to a kernel bug[1] which is still not fixed.
- #
- # I guess this can also be fixed differently[2], which does look a lot nicer
- # but I'm just too lazy.
- #
- # [1]: https://bbs.archlinux.org/viewtopic.php?id=270964
- # [1]: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/522998
- # [1]: https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/562484/comments/3
- # [1]: https://gist.github.com/ioggstream/8f380d398aef989ac455b93b92d42048
- # [2]: https://linrunner.de/tlp/settings/runtimepm.html
- powerDownCommands = "${modprobe} -r xhci_pci";
- powerUpCommands = "${modprobe} xhci_pci";
- };
-
- services = {
- thinkfan = {
- enable = true;
- settings = {
- sensors = [
- {
- hwmon = "/sys/class/hwmon";
- name = "coretemp";
- indices = [ 1 ];
- }
- ];
- fans = [ { tpacpi = "/proc/acpi/ibm/fan"; } ];
- levels = [
- [
- "level auto"
- 0
- 50
- ]
- [
- "level disengaged"
- 50
- 32767
- ]
- ];
- };
- };
-
- fwupd.enable = true;
- };
-
- boot.initrd.luks.devices."root" = {
- device = "/dev/disk/by-uuid/c1b46f24-eec0-47d2-a142-75ddfd7bb218";
- allowDiscards = true;
- bypassWorkqueues = true;
- };
-
- fileSystems = {
- "/" = {
- device = "/dev/disk/by-uuid/bb8b09dc-cc67-47e5-8280-532b17a9e62a";
- fsType = "xfs";
- options = [ "noatime" ];
- };
-
- "/boot" = {
- device = "/dev/disk/by-uuid/1083-C8A0";
- fsType = "vfat";
- };
- };
-
- swapDevices = [
- {
- device = "/swapfile";
- size = 8 * 1024;
- }
- ];
-
- zramSwap = {
- enable = true;
- memoryPercent = 100;
- };
-}
diff --git a/flake.lock b/flake.lock
index 67beb64..802fa85 100644
--- a/flake.lock
+++ b/flake.lock
@@ -271,6 +271,26 @@
"type": "github"
}
},
+ "disko": {
+ "inputs": {
+ "nixpkgs": [
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1719236180,
+ "narHash": "sha256-VZAfBk2Lo8hQy/NQ4XVSpTICT0ownXBUi1QvGfdlxaM=",
+ "owner": "nix-community",
+ "repo": "disko",
+ "rev": "dd4d1663ccf7fbdb32361b9afe9e71206584cd4c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "repo": "disko",
+ "type": "github"
+ }
+ },
"dns": {
"inputs": {
"flake-utils": [
@@ -691,6 +711,7 @@
"alertmanager-ntfy": "alertmanager-ntfy",
"arkenfox": "arkenfox",
"azahi-cc": "azahi-cc",
+ "disko": "disko",
"dns": "dns",
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
diff --git a/flake.nix b/flake.nix
index 727ba2f..652f0f2 100644
--- a/flake.nix
+++ b/flake.nix
@@ -17,6 +17,11 @@
inputs.nixpkgs.follows = "nixpkgs";
};
+ disko = {
+ url = "github:nix-community/disko";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+
srvos = {
url = "github:nix-community/srvos";
inputs.nixpkgs.follows = "nixpkgs";
@@ -196,7 +201,7 @@
checks.${system} = import ./checks.nix { inherit inputs pkgs system; };
- nixosModules.nixfiles =
+ nixosModules.default =
_: with lib; {
imports = attrValues (modulesIn ./modules);
};
diff --git a/modules/common/kernel.nix b/modules/common/kernel.nix
index 5c45b5d..ddc4f62 100644
--- a/modules/common/kernel.nix
+++ b/modules/common/kernel.nix
@@ -1,38 +1,30 @@
{ lib, ... }:
with lib;
{
- boot = {
- # I don't use it even on laptops. It's also /required/ to disable it for
- # ZFS[1].
- # [1]: https://github.com/openzfs/zfs/issues/260
- # [1]: https://github.com/openzfs/zfs/issues/12842
- kernelParams = [ "hibernate=no" ];
-
- kernel.sysctl = {
- "fs.file-max" = pow 2 17;
- "fs.inotify.max_user_watches" = pow 2 19;
- "fs.suid_dumpable" = 0;
- "kernel.core_uses_pid" = 1;
- "kernel.exec-shield" = 1;
- "kernel.kptr_restrict" = 1;
- "kernel.maps_protect" = 1;
- "kernel.msgmax" = pow 2 16;
- "kernel.msgmnb" = pow 2 16;
- "kernel.pid_max" = pow 2 16;
- "kernel.randomize_va_space" = 2;
- "kernel.shmall" = pow 2 28;
- "kernel.shmmax" = pow 2 28;
- "kernel.sysrq" = 0;
- "vm.dirty_background_bytes" = pow 2 22;
- "vm.dirty_background_ratio" = 5;
- "vm.dirty_bytes" = pow 2 22;
- "vm.dirty_ratio" = 30;
- "vm.min_free_kbytes" = pow 2 16;
- "vm.mmap_min_addr" = pow 2 12;
- "vm.overcommit_memory" = mkDefault 0;
- "vm.overcommit_ratio" = mkDefault 50;
- "vm.vfs_cache_pressure" = 50;
- };
+ boot.kernel.sysctl = {
+ "fs.file-max" = pow 2 17;
+ "fs.inotify.max_user_watches" = pow 2 19;
+ "fs.suid_dumpable" = 0;
+ "kernel.core_uses_pid" = 1;
+ "kernel.exec-shield" = 1;
+ "kernel.kptr_restrict" = 1;
+ "kernel.maps_protect" = 1;
+ "kernel.msgmax" = pow 2 16;
+ "kernel.msgmnb" = pow 2 16;
+ "kernel.pid_max" = pow 2 16;
+ "kernel.randomize_va_space" = 2;
+ "kernel.shmall" = pow 2 28;
+ "kernel.shmmax" = pow 2 28;
+ "kernel.sysrq" = 0;
+ "vm.dirty_background_bytes" = pow 2 22;
+ "vm.dirty_background_ratio" = 5;
+ "vm.dirty_bytes" = pow 2 22;
+ "vm.dirty_ratio" = 30;
+ "vm.min_free_kbytes" = pow 2 16;
+ "vm.mmap_min_addr" = pow 2 12;
+ "vm.overcommit_memory" = mkDefault 0;
+ "vm.overcommit_ratio" = mkDefault 50;
+ "vm.vfs_cache_pressure" = 50;
};
# https://docs.kernel.org/admin-guide/mm/ksm.html
diff --git a/modules/common/nix.nix b/modules/common/nix.nix
index 3342113..aad7106 100644
--- a/modules/common/nix.nix
+++ b/modules/common/nix.nix
@@ -141,7 +141,6 @@ in
};
environment = {
- localBinInPath = true;
defaultPackages = [ ];
systemPackages =
with pkgs;
@@ -150,7 +149,7 @@ in
nixfiles
];
variables = {
- NIXFILES = "${config.my.home}/src/nixfiles";
+ NIXFILES = optionalString this.isHeadful "${config.my.home}/src/nixfiles";
NIX_SHELL_PRESERVE_PROMPT = "1";
};
};
diff --git a/modules/common/users.nix b/modules/common/users.nix
index ba1a89b..b8aca28 100644
--- a/modules/common/users.nix
+++ b/modules/common/users.nix
@@ -18,7 +18,10 @@ in
mutableUsers = false;
users = {
- root.hashedPassword = "@HASHED_PASSWORD@";
+ root = {
+ hashedPassword = null;
+ password = null;
+ };
${my.username} = {
isNormalUser = true;
diff --git a/modules/emacs/default.nix b/modules/emacs/default.nix
index 8a6707c..b466b64 100644
--- a/modules/emacs/default.nix
+++ b/modules/emacs/default.nix
@@ -249,7 +249,7 @@ in
programs = {
emacs = {
enable = true;
- package = pkgs.emacs29;
+ package = pkgs.emacs29-pgtk;
};
bash.initExtra = mkAfter ''
diff --git a/modules/emacs/doom/init.el b/modules/emacs/doom/init.el
index ac4a687..ed0e048 100644
--- a/modules/emacs/doom/init.el
+++ b/modules/emacs/doom/init.el
@@ -45,7 +45,7 @@
grammar
:tools
- ansible
+ ;; ansible
(debugger +lsp)
direnv
(docker +lsp)
diff --git a/modules/games/steam-run.nix b/modules/games/steam-run.nix
index cfee8ae..f6902c0 100644
--- a/modules/games/steam-run.nix
+++ b/modules/games/steam-run.nix
@@ -20,18 +20,7 @@ in
};
config = mkIf cfg.enable {
- nixfiles.modules = {
- common.nix.allowedUnfreePackages = [
- "steam"
- "steam-run"
- ];
-
- games = {
- enable32BitSupport = true;
- gamemode.enable = true;
- mangohud.enable = true;
- };
- };
+ nixfiles.modules.games.steam.enable = true;
hm.home.packages = with pkgs; [
(steam.override {
diff --git a/modules/games/steam.nix b/modules/games/steam.nix
index 5883b0e..23b4f14 100644
--- a/modules/games/steam.nix
+++ b/modules/games/steam.nix
@@ -16,6 +16,7 @@ in
common.nix.allowedUnfreePackages = [
"steam"
"steam-original"
+ "steam-run"
];
games = {
diff --git a/modules/profiles/default.nix b/modules/profiles/default.nix
index 61f93b9..5265fda 100644
--- a/modules/profiles/default.nix
+++ b/modules/profiles/default.nix
@@ -55,6 +55,7 @@ in
lsof
pciutils
psmisc
+ rsync
smartmontools
sysstat
tree
diff --git a/modules/profiles/headful.nix b/modules/profiles/headful.nix
index 8951d83..d58eed0 100644
--- a/modules/profiles/headful.nix
+++ b/modules/profiles/headful.nix
@@ -89,11 +89,10 @@ in
systemd-boot = {
enable = true;
+ editor = false;
configurationLimit = 10;
};
};
-
- consoleLogLevel = 3;
};
hardware.graphics.enable = true;