aboutsummaryrefslogtreecommitdiffstats
path: root/hosts/by-name/apzu
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-05-16 16:45:40 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-05-16 16:45:40 +0200
commit176d9bb96e8923b84bb0bdc731ef707514c0d53e (patch)
treecab831d04c6c919d41c11fe6abfe67de34c90699 /hosts/by-name/apzu
parentmodules: Import external modules in the module that actually need them (diff)
downloadnixos-config-176d9bb96e8923b84bb0bdc731ef707514c0d53e.zip
hosts: Move to a `by-name` schema
Diffstat (limited to 'hosts/by-name/apzu')
-rw-r--r--hosts/by-name/apzu/configuration.nix138
-rw-r--r--hosts/by-name/apzu/hardware.nix37
2 files changed, 175 insertions, 0 deletions
diff --git a/hosts/by-name/apzu/configuration.nix b/hosts/by-name/apzu/configuration.nix
new file mode 100644
index 00000000..69af3f2d
--- /dev/null
+++ b/hosts/by-name/apzu/configuration.nix
@@ -0,0 +1,138 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+{
+ lib,
+ pkgs,
+ baseLib,
+ ...
+}: {
+ imports = [
+ ./hardware.nix
+ ];
+
+ soispha = {
+ bluetooth.enable = true;
+
+ laptop = {
+ backlight = "intel_backlight";
+ enable = true;
+ };
+
+ # TODO: Hard-code all the uids/gids <2025-05-13>
+ impermanence.directories = [
+ "/var/lib/nixos"
+ "/var/log"
+ ];
+
+ programs = {
+ yambar = {
+ laptop = true;
+ backlight = "intel_backlight";
+ };
+ river.init = {
+ mappings = {
+ layout = "dvorak-modified";
+ keymap =
+ {
+ # Focus change
+ "<Meta-T>" = {command = ["focus-view" "next"];};
+ "<Meta-N>" = {command = ["focus-view" "previous"];};
+ "<Meta+Ctrl-T>" = {command = ["focus-output" "next"];};
+ "<Meta+Ctrl-N>" = {command = ["focus-output" "previous"];};
+
+ # Standard programs
+ "<Meta-<ENTER>>" = {command = ["spawn" "${lib.getExe pkgs.alacritty}"];};
+ "<Meta+Shift-q>" = {command = ["exit"];};
+ "<Meta-L>" = {command = ["spawn" "${lib.getExe pkgs.lock}"];};
+
+ # Screenshot
+ "<PRINTSCREEN>" = {command = ["spawn" "${lib.getExe pkgs.screenshot_persistent}"];};
+
+ # Audio
+ "<MEDIA_RAISEVOLUME>" = {
+ command = ["spawn" "${lib.getExe' pkgs.wireplumber "wpctl"} set-volume @DEFAULT_SINK@ 5%+"];
+ modes = ["normal" "locked"];
+ };
+ "<MEDIA_LOWERVOLUME>" = {
+ command = ["spawn" "${lib.getExe' pkgs.wireplumber "wpctl"} set-volume @DEFAULT_SINK@ 5%-"];
+ modes = ["normal" "locked"];
+ };
+ "<MEDIA_MUTEVOLUME>" = {
+ command = ["spawn" "${lib.getExe pkgs.mpc} toggle"];
+ modes = ["normal" "locked"];
+ };
+
+ # Launcher
+ "<Meta-R>" = {command = ["spawn" "${lib.getExe pkgs.rofi} -show combi -modes combi -combi-modes 'window, drun, run' -show-icons"];};
+ "<Meta-<F1>>" = {command = ["spawn" "${lib.getExe pkgs.tskm} open select"];};
+ "<Meta-<F2>>" = {command = ["spawn" "${lib.getExe pkgs.keepassxc}"];};
+ "<Meta-<F3>>" = {command = ["spawn" "${lib.getExe pkgs.signal-desktop}"];};
+ # "<Meta-<F4>>" = {command = ["spawn" "${lib.getExe pkgs.steam}"];};
+
+ # Client
+ "<Meta-f>" = {command = ["toggle-fullscreen"];};
+ "<Meta+Shift-c>" = {command = ["close"];};
+ "<Meta+Ctrl- >" = {command = ["toggle-float"];};
+ "<Meta+Ctrl-<ENTER>>" = {command = ["zoom"];};
+ "<Meta-o>" = {command = ["send-to-output" "next"];};
+ "<Meta+Shift-T>" = {command = ["swap" "next"];};
+ "<Meta+Shift-N>" = {command = ["swap" "previous"];};
+
+ # Toggle all tags
+ "<Meta-0>" = {command = ["set-focused-tags" (builtins.toString ((baseLib.pow 2 32) - 1))];};
+ "<Meta+Shift-0>" = {command = ["set-view-tags" (builtins.toString ((baseLib.pow 2 32) - 1))];};
+
+ # Mouse
+ "<Meta-<MOUSE_LEFT>>" = {
+ command = ["move-view"];
+ map_mode = "MapMouse";
+ };
+ "<Meta-<MOUSE_RIGHT>>" = {
+ command = ["resize-view"];
+ map_mode = "MapMouse";
+ };
+ }
+ // (
+ builtins.foldl' (acc: elem: acc // elem) {} (
+ builtins.map (index: let
+ num = builtins.toString index;
+ index2tag = input: builtins.toString (baseLib.pow 2 (input - 1));
+ in {
+ "<Meta-${num}>" = {command = ["set-focused-tags" (index2tag index)];};
+ "<Meta+Shift-${num}>" = {command = ["set-view-tags" (index2tag index)];};
+ "<Meta+Shift+Ctrl-${num}>" = {command = ["toggle-view-tags" (index2tag index)];};
+ }) (builtins.genList (i: i + 1) 9)
+ )
+ );
+ };
+ screenSetupCode = {};
+ };
+ };
+
+ locale.enable = true;
+ networking = {
+ enable = true;
+ hostName = "apzu";
+ mode = "NetworkManager";
+ };
+ services.unison.foreign.address = "tiamat.fritz.box";
+ nixpkgs = {
+ enable = true;
+ systemName = "x86_64-linux";
+ };
+ users = {
+ enable = true;
+ enableDeprecatedPlugdev = true;
+ hashedPassword = "$y$jFT$3qI9MYLDHPUdGKsVa8skV0$TOjX0SFHWuj52zd7/kmkNtG5EqQwYcqv0FKXWbLaro6";
+ };
+ };
+
+ system.stateVersion = "23.05";
+}
diff --git a/hosts/by-name/apzu/hardware.nix b/hosts/by-name/apzu/hardware.nix
new file mode 100644
index 00000000..8d481fa6
--- /dev/null
+++ b/hosts/by-name/apzu/hardware.nix
@@ -0,0 +1,37 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+{modulesPath, ...}: {
+ imports = [
+ (modulesPath + "/installer/scan/not-detected.nix") # TODO: is this necessary?
+ ];
+
+ soispha = {
+ disks = {
+ enable = true;
+ disk = "/dev/disk/by-id/nvme-INTEL_SSDPEKNU512GZH_PHKA1481032A512A_1";
+ ssd = true;
+ swap = {
+ uuid = "c94cd20a-dd3c-436f-9841-6fe92e5c8719";
+ resumeOffset = "533760";
+ };
+ };
+
+ hardware = {
+ enable = true;
+ cpuType = "intel";
+ };
+ };
+
+ boot = {
+ kernelModules = ["kvm-intel" "rtw89"];
+
+ initrd.availableKernelModules = ["xhci_pci" "vmd" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
+ };
+}