aboutsummaryrefslogtreecommitdiff
path: root/nixos/nixosModules
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/nixosModules')
-rw-r--r--nixos/nixosModules/default.nix11
-rw-r--r--nixos/nixosModules/disks.nix17
-rw-r--r--nixos/nixosModules/docker.nix20
-rw-r--r--nixos/nixosModules/greetd.nix22
-rw-r--r--nixos/nixosModules/powerbutton.nix14
-rw-r--r--nixos/nixosModules/printing.nix18
-rw-r--r--nixos/nixosModules/stylix.nix24
-rw-r--r--nixos/nixosModules/user.nix18
8 files changed, 144 insertions, 0 deletions
diff --git a/nixos/nixosModules/default.nix b/nixos/nixosModules/default.nix
new file mode 100644
index 0000000..05b64be
--- /dev/null
+++ b/nixos/nixosModules/default.nix
@@ -0,0 +1,11 @@
+{
+ imports = [
+ ./user.nix
+ ./disks.nix
+ ./docker.nix
+ ./greetd.nix
+ ./stylix.nix
+ ./powerbutton.nix
+ ./printing.nix
+ ];
+}
diff --git a/nixos/nixosModules/disks.nix b/nixos/nixosModules/disks.nix
new file mode 100644
index 0000000..e7a374a
--- /dev/null
+++ b/nixos/nixosModules/disks.nix
@@ -0,0 +1,17 @@
+{ pkgs, config, lib, ... }:
+
+{
+ options = {
+ disks.enable = lib.mkEnableOption "auto disk mount";
+ };
+ config = lib.mkIf config.disks.enable {
+ services = {
+ devmon.enable = true;
+ gvfs.enable = true;
+ udisks2 = {
+ enable = true;
+ mountOnMedia = true;
+ };
+ };
+ };
+}
diff --git a/nixos/nixosModules/docker.nix b/nixos/nixosModules/docker.nix
new file mode 100644
index 0000000..0536d7e
--- /dev/null
+++ b/nixos/nixosModules/docker.nix
@@ -0,0 +1,20 @@
+{ pkgs, config, lib, ... }:
+
+{
+ options = {
+ docker.enable = lib.mkEnableOption "enable docker";
+ };
+ config = lib.mkIf config.docker.enable {
+ virtualisation.docker = {
+ enable = true;
+ liveRestore = true;
+ daemon.settings = {
+ bip = "172.20.0.1/16";
+ default-address-pools = [{
+ base = "172.20.0.0/8";
+ size = 16;
+ }];
+ };
+ };
+ };
+}
diff --git a/nixos/nixosModules/greetd.nix b/nixos/nixosModules/greetd.nix
new file mode 100644
index 0000000..f48c291
--- /dev/null
+++ b/nixos/nixosModules/greetd.nix
@@ -0,0 +1,22 @@
+{ pkgs, config, lib, inputs, outputs, ... }:
+
+{
+ imports = [
+ inputs.stylix.nixosModules.stylix
+ ];
+
+ options = {
+ greetd.enable = lib.mkEnableOption "enable greetd";
+ };
+ config = lib.mkIf config.greetd.enable {
+ services.greetd = {
+ enable = true;
+ settings = {
+ default_session = {
+ command = "${pkgs.greetd.tuigreet}/bin/tuigreet -t -r -c Hyprland";
+ user = "jerpo";
+ };
+ };
+ };
+ };
+}
diff --git a/nixos/nixosModules/powerbutton.nix b/nixos/nixosModules/powerbutton.nix
new file mode 100644
index 0000000..fdf1ceb
--- /dev/null
+++ b/nixos/nixosModules/powerbutton.nix
@@ -0,0 +1,14 @@
+{ pkgs, config, lib, ... }:
+
+{
+ options = {
+ pbutton.disable = lib.mkEnableOption "enable pbutton";
+ };
+ config = lib.mkIf config.pbutton.disable {
+ services.logind.extraConfig = ''
+ HandlePowerKey=ignore
+ HandleLidSwitch=suspend
+ HandleLidSwitchExternalPower=suspend
+ '';
+ };
+}
diff --git a/nixos/nixosModules/printing.nix b/nixos/nixosModules/printing.nix
new file mode 100644
index 0000000..3d4eee1
--- /dev/null
+++ b/nixos/nixosModules/printing.nix
@@ -0,0 +1,18 @@
+{ pkgs, config, lib, ... }:
+
+{
+ options = {
+ printing.enable = lib.mkEnableOption "enable printing";
+ };
+ config = lib.mkIf config.printing.enable {
+ services = {
+ printing.enable = true;
+ printing.drivers = [ pkgs.hplipWithPlugin ];
+ avahi = {
+ enable = true;
+ nssmdns = true;
+ openFirewall = true;
+ };
+ };
+ };
+}
diff --git a/nixos/nixosModules/stylix.nix b/nixos/nixosModules/stylix.nix
new file mode 100644
index 0000000..7daab8e
--- /dev/null
+++ b/nixos/nixosModules/stylix.nix
@@ -0,0 +1,24 @@
+{ pkgs, config, lib, outputs, ... }:
+
+{
+ options = {
+ stylix.enable = lib.mkEnableOption "enable stylix";
+ };
+ config = lib.mkIf config.stylix.enable {
+ stylix = with outputs.homeConfigurations."jerpo@ltrr-mini".config.stylix; {
+ image = image;
+ base16Scheme = base16Scheme;
+ autoEnable = false;
+ targets.console.enable = true;
+ fonts = with fonts; {
+ serif = serif;
+
+ sansSerif = sansSerif;
+
+ monospace = monospace;
+
+ emoji = emoji;
+ };
+ };
+ };
+}
diff --git a/nixos/nixosModules/user.nix b/nixos/nixosModules/user.nix
new file mode 100644
index 0000000..da40b09
--- /dev/null
+++ b/nixos/nixosModules/user.nix
@@ -0,0 +1,18 @@
+{ pkgs, config, lib, ... }:
+
+{
+ options = {
+ user.enable = lib.mkEnableOption "default user configuration";
+ };
+ config = lib.mkIf config.user.enable {
+ programs.fish.enable = true;
+ users.users = {
+ jerpo = {
+ isNormalUser = true;
+ shell = pkgs.fish;
+ extraGroups = [ "networkmanager" "wheel" "docker" "libvirtd" "input" "adbusers" ];
+ };
+ };
+
+ };
+}