Initial commit
- Create a basic bootable system with Hyprland, a browser and some
basic utilities
Change-Id: I4178e1185de319c45c6a4f2711fe035f50777e08
diff --git a/modules/nixos/audio/default.nix b/modules/nixos/audio/default.nix
new file mode 100644
index 0000000..7ded3fb
--- /dev/null
+++ b/modules/nixos/audio/default.nix
@@ -0,0 +1,10 @@
+{ ... }: {
+ services.pipewire = {
+ enable = true;
+ alsa = {
+ enable = true;
+ support32Bit = true;
+ };
+ pulse.enable = true;
+ };
+}
diff --git a/modules/nixos/browsers/default.nix b/modules/nixos/browsers/default.nix
new file mode 100644
index 0000000..33078e1
--- /dev/null
+++ b/modules/nixos/browsers/default.nix
@@ -0,0 +1,3 @@
+{ pkgs, ... }: {
+ environment.systemPackages = [ pkgs.firefox ];
+}
\ No newline at end of file
diff --git a/modules/nixos/editors/default.nix b/modules/nixos/editors/default.nix
new file mode 100644
index 0000000..df773e6
--- /dev/null
+++ b/modules/nixos/editors/default.nix
@@ -0,0 +1,7 @@
+{ pkgs, ... }: {
+ environment.systemPackages = [
+ pkgs.emacs
+ pkgs.neovim
+ pkgs.vscode-fhs
+ ];
+}
diff --git a/modules/nixos/git/default.nix b/modules/nixos/git/default.nix
new file mode 100644
index 0000000..9366bdf
--- /dev/null
+++ b/modules/nixos/git/default.nix
@@ -0,0 +1,3 @@
+{ pkgs, ... }: {
+ environment.systemPackages = [ pkgs.git ];
+}
\ No newline at end of file
diff --git a/modules/nixos/graphics/default.nix b/modules/nixos/graphics/default.nix
new file mode 100644
index 0000000..55a5ea4
--- /dev/null
+++ b/modules/nixos/graphics/default.nix
@@ -0,0 +1,10 @@
+{ pkgs, ... }: {
+ hardware.opengl = {
+ enable = true;
+ driSupport = true;
+ driSupport32Bit = true;
+ extraPackages = [
+ pkgs.vaapiVdpau
+ ];
+ };
+}
diff --git a/modules/nixos/home-manager/default.nix b/modules/nixos/home-manager/default.nix
new file mode 100644
index 0000000..9c96dd3
--- /dev/null
+++ b/modules/nixos/home-manager/default.nix
@@ -0,0 +1,5 @@
+{ inputs, system, ... }: {
+ environment.systemPackages = [
+ inputs.home-manager.defaultPackage.${system}
+ ];
+}
\ No newline at end of file
diff --git a/modules/nixos/hyprland/default.nix b/modules/nixos/hyprland/default.nix
new file mode 100644
index 0000000..90e38ce
--- /dev/null
+++ b/modules/nixos/hyprland/default.nix
@@ -0,0 +1,5 @@
+{ ... }: {
+ programs.hyprland.enable = true;
+
+ users.users.minion.extraGroups = [ "input" ];
+}
\ No newline at end of file
diff --git a/modules/nixos/nix/default.nix b/modules/nixos/nix/default.nix
new file mode 100644
index 0000000..307d6ea
--- /dev/null
+++ b/modules/nixos/nix/default.nix
@@ -0,0 +1,20 @@
+{ ... }: {
+ system.stateVersion = "24.05";
+ console.keyMap = "dvorak";
+
+ nix.settings = {
+ builders-use-substitutes = true;
+
+ substituters = [
+ "https://cache.nixos.org"
+ "https://anyrun.cachix.org"
+ ];
+
+ trusted-public-keys = [
+ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
+ "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s="
+ ];
+
+ experimental-features = [ "nix-command" "flakes" ];
+ };
+}
diff --git a/modules/nixos/terminals/default.nix b/modules/nixos/terminals/default.nix
new file mode 100644
index 0000000..3b44e0b
--- /dev/null
+++ b/modules/nixos/terminals/default.nix
@@ -0,0 +1,5 @@
+{ pkgs, ... }: {
+ environment.systemPackages = [
+ pkgs.kitty
+ ];
+}
\ No newline at end of file
diff --git a/modules/nixos/users/default.nix b/modules/nixos/users/default.nix
new file mode 100644
index 0000000..5e4b0c1
--- /dev/null
+++ b/modules/nixos/users/default.nix
@@ -0,0 +1,13 @@
+{ pkgs, ... }: {
+ users.users.minion = {
+ isNormalUser = true;
+ extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
+ packages = [
+ pkgs.firefox
+ pkgs.tree
+ ];
+ initialPassword = "nixos";
+ };
+
+ security.pam.services.waylock = {};
+}
diff --git a/modules/nixos/wifi/default.nix b/modules/nixos/wifi/default.nix
new file mode 100644
index 0000000..fcd6ccf
--- /dev/null
+++ b/modules/nixos/wifi/default.nix
@@ -0,0 +1,7 @@
+{ ... }: {
+ networking.wireless = {
+ enable = true;
+ userControlled.enable = true;
+ };
+ hardware.enableRedistributableFirmware = true;
+}