summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/nixos/boot/lenovo.nix6
-rw-r--r--modules/nixos/impermanence.nix15
-rw-r--r--modules/nixos/laptop.nix39
-rw-r--r--modules/nixos/ly.nix8
-rw-r--r--modules/nixos/steam.nix10
-rw-r--r--modules/nixos/sway.nix3
6 files changed, 81 insertions, 0 deletions
diff --git a/modules/nixos/boot/lenovo.nix b/modules/nixos/boot/lenovo.nix
new file mode 100644
index 0000000..fdd5e14
--- /dev/null
+++ b/modules/nixos/boot/lenovo.nix
@@ -0,0 +1,6 @@
+{
+ boot.loader = {
+ efi.canTouchEfiVariables = true;
+ systemd-boot.enable = true;
+ };
+}
diff --git a/modules/nixos/impermanence.nix b/modules/nixos/impermanence.nix
new file mode 100644
index 0000000..7f0062b
--- /dev/null
+++ b/modules/nixos/impermanence.nix
@@ -0,0 +1,15 @@
+{
+ fileSystems."/persist".neededForBoot = true;
+ environment.persistence."/persist" = {
+ enable = true;
+ hideMounts = true;
+ directories = [
+ "/var/log"
+ "/var/lib/nixos"
+ "/var/lib/systemd/coredump"
+ ];
+ files = [
+ "/etc/machine-id"
+ ];
+ };
+}
diff --git a/modules/nixos/laptop.nix b/modules/nixos/laptop.nix
new file mode 100644
index 0000000..9002c49
--- /dev/null
+++ b/modules/nixos/laptop.nix
@@ -0,0 +1,39 @@
+{
+ # bluetooth
+ hardware.bluetooth = {
+ enable = true;
+ powerOnBoot = true;
+ };
+ services.blueman.enable = true;
+
+ # locale
+ i18n.defaultLocale = "de_DE.UTF-8";
+ time.timeZone = "Europe/Berlin";
+
+ # networking
+ networking = {
+ firewall.enable = true;
+ networkmanager.enable = true;
+ };
+
+ # misc
+ services = {
+ printing.enable = true;
+
+ # trackpad
+ libinput.enable = true;
+
+ # ssh
+ openssh.enable = true;
+ };
+
+ # impermanence
+ environment.persistence."/persist".directories = [
+ # bluetooth
+ "/var/lib/bluetooth"
+ # wifi connections
+ "/etc/NetworkManager/system-connections"
+ # machine ssh keys
+ "/etc/ssh"
+ ];
+}
diff --git a/modules/nixos/ly.nix b/modules/nixos/ly.nix
new file mode 100644
index 0000000..34cbb49
--- /dev/null
+++ b/modules/nixos/ly.nix
@@ -0,0 +1,8 @@
+{
+ services.displayManager = {
+ enable = true;
+ ly.enable = true;
+ };
+ # TODO needs to be manually updated when new users added
+ environment.persistence."/persist".files = ["/etc/ly/save.txt"];
+}
diff --git a/modules/nixos/steam.nix b/modules/nixos/steam.nix
new file mode 100644
index 0000000..5056ea9
--- /dev/null
+++ b/modules/nixos/steam.nix
@@ -0,0 +1,10 @@
+{lib, ...}: {
+ nixpkgs.config.allowUnfreePredicate = pkg:
+ builtins.elem (lib.getName pkg) [
+ "steam"
+ "steam-original"
+ "steam-unwrapped"
+ "steam-run"
+ ];
+ programs.steam.enable = true;
+}
diff --git a/modules/nixos/sway.nix b/modules/nixos/sway.nix
new file mode 100644
index 0000000..30be2e9
--- /dev/null
+++ b/modules/nixos/sway.nix
@@ -0,0 +1,3 @@
+{
+ programs.sway.enable = true;
+}