diff --git a/flake.nix b/flake.nix index 653c0d2..cba2249 100644 --- a/flake.nix +++ b/flake.nix @@ -6,6 +6,9 @@ import-tree.url = "github:vic/import-tree"; wrapper-modules.url = "github:BirdeeHub/nix-wrapper-modules"; + + aagl.url = "github:ezKEa/aagl-gtk-on-nix"; + aagl.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = inputs: inputs.flake-parts.lib.mkFlake {inherit inputs;} (inputs.import-tree ./modules); diff --git a/modules/features/alacritty.nix b/modules/features/alacritty.nix new file mode 100644 index 0000000..c1eda20 --- /dev/null +++ b/modules/features/alacritty.nix @@ -0,0 +1,7 @@ +{ + flake.nixosModules.alacritty = { + programs.alacritty = { + enable = true; + }; + }; +} diff --git a/modules/features/git.nix b/modules/features/git.nix new file mode 100644 index 0000000..c1ba6bf --- /dev/null +++ b/modules/features/git.nix @@ -0,0 +1,15 @@ +{ + flake.nixosModules.git = { + programs.git = { + enable = true; + settings = { + user = { + name = "KnightArtorias"; + email = "booksandpi@gmail.com"; + }; + + init.defaultBranch = "main"; + }; + }; + }; +} diff --git a/modules/features/hsr.nix b/modules/features/hsr.nix new file mode 100644 index 0000000..c29268a --- /dev/null +++ b/modules/features/hsr.nix @@ -0,0 +1,9 @@ +{ inputs, ... }: { + flakes.nixosModules.hsr = { config, lib, aagl, ... }: { + imports = [ aagl.nixosModules.default ]; + + nix.settings = aagl.nixConfig; + + programs.honkers-railway-launcher.enable = true; + }; +} diff --git a/modules/features/tiling/fuzzel.nix b/modules/features/tiling/fuzzel.nix new file mode 100644 index 0000000..b148cfa --- /dev/null +++ b/modules/features/tiling/fuzzel.nix @@ -0,0 +1,15 @@ +{ + flakes.nixosModules.fuzzel = { pkgs, ... }: { + services.mako = { + enable = true; + settings = { + default-timeout = 10000; + + font = "Maple Mono"; + background-color = "#8F56E1"; + text-color = "#D8CAB8"; + border-color = "#D8CAB8"; + }; + }; + }; +} diff --git a/modules/features/tiling/gdm.nix b/modules/features/tiling/gdm.nix new file mode 100644 index 0000000..f8e6f44 --- /dev/null +++ b/modules/features/tiling/gdm.nix @@ -0,0 +1,7 @@ +{ + flake.nixosModules.gdm = { + services.displayManager.gdm = { + enable = true; + }; + }; +} diff --git a/modules/features/niri.nix b/modules/features/tiling/niri.nix similarity index 95% rename from modules/features/niri.nix rename to modules/features/tiling/niri.nix index b4bb680..3d7194c 100644 --- a/modules/features/niri.nix +++ b/modules/features/tiling/niri.nix @@ -1,13 +1,13 @@ { self, inputs, ... }: { - perSystem = { pkgs, ... }: { - packages.niri = inputs.wrapper-modules.wrappers.niri.wrap { + perSystem = { pkgs, lib, self', ... }: { + packages.myNiri = inputs.wrapper-modules.wrappers.niri.wrap { inherit pkgs; settings = { prefer-no-csd = {}; spawn-sh-at-startup = [ - "noctalia-shell" "ckb-next -b" + (lib.getExe self'.packages.myNoctalia) ]; screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png"; @@ -276,4 +276,18 @@ }; }; }; + + flake.nixosModules.niri = { pkgs, lib, ... }: { + programs.niri = { + enable = true; + package = self.packages.${pkgs.stdenv.hostPlatform.system}.myNiri; + }; + + security.polkit.enable = true; + services.gnome.gnome-keyring.enable = true; + + environment.systemPackages = with pkgs; [ + xwayland-satellite + ]; + }; } diff --git a/modules/features/tiling/noctalia.nix b/modules/features/tiling/noctalia.nix new file mode 100644 index 0000000..6eae8cb --- /dev/null +++ b/modules/features/tiling/noctalia.nix @@ -0,0 +1,64 @@ +{ self, inputs, ... }: { + perSystem = { pkgs, ... }: { + packages.myNoctalia = inputs.wrapper-modules.wrappers.noctalia-shell.wrap { + inherit pkgs; + settings = { + bar = { + density = "compact"; + floating = true; + position = "top"; + showCapsule = true; + widgets = { + center = [ + { hideUnoccupied = false; id = "Workspace"; labelMode = "none"; } + ]; + left = [ + { id = "ControlCenter"; useDistroLogo = true; } + { id = "WiFi"; } + { id = "Bluetooth"; } + { id = "ActiveWindow"; } + { id = "MediaMini"; } + ]; + right = [ + { id = "Volume"; } + { id = "Tray"; } + { id = "NotificationHistory"; } + { + formatHorizontal = "HH:mm"; + formatVertical = "HH mm"; + id = "Clock"; + useMonospacedFont = true; + usePrimaryColor = true; + } + ]; + }; + }; + colorSchemes = { + predefinedScheme = "Monochrome"; + }; + dock = { + enabled = false; + }; + location = { + monthBeforeDay = true; + name = "Severn, Maryland"; + use12hourFormat = true; + useFahrenheit = true; + }; + network = { + wifiEnabled = true; + }; + screenRecorder = { + directory = "$HOME/Videos/ScreenRecordings"; + }; + templates = { + alactirry = true; + discord = true; + fuzzel = true; + niri = true; + qt = true; + }; + }; + }; + }; +} diff --git a/modules/features/zsh.nix b/modules/features/zsh.nix new file mode 100644 index 0000000..d9ad269 --- /dev/null +++ b/modules/features/zsh.nix @@ -0,0 +1,34 @@ +{ + flakes.nixosModules.zsh = { + environment.systemPackages = with pkgs; [ + zsh + oh-my-zsh + ]; + + environment.variables = { + NIX_FLAKE_PATH = "$HOME/.nix/"; + }; + + programs.zsh = { + enable = true; + enableBashCompletion = true; + enableCompletion = true; + autosuggestions.enable = true; + + ohMyZsh = { + enable = true; + theme = "bira"; + plugins = [ + "sudo" + "git" + ]; + }; + + shellAliases = { + ll = "ls -la"; + update = "sudo nix flake update --flake $NIX_FLAKE_PATH && sudo nixos-rebuild switch --upgrade-all --flake $NIX_FLAKE_PATH#$HOSTNAME"; + rebuild = "sudo nixos-rebuild switch --flake $NIX_FLAKE_PATH#$HOSTNAME"; + }; + }; + }; +} diff --git a/modules/hosts/crow/configuration.nix b/modules/hosts/crow/configuration.nix index 52c19fb..fdb7514 100644 --- a/modules/hosts/crow/configuration.nix +++ b/modules/hosts/crow/configuration.nix @@ -1,10 +1,18 @@ { self, inputs, ... }: { flake.nixosModules.crowConfiguration = { pkgs, lib, ... }: { - imports = [ - ./hardware-configuration.nix - ]; + inherit inputs; - nix.settings.experimental-features = [ "nix-commands" "flakes" ]; + imports = [ + self.nixosModules.crowHardware + self.nixosModules.nest + + self.nixosModules.niri + self.nixosModules.alacritty + self.nixosModules.git + self.nixosModules.gdm + self.nixosModules.hsr + self.nixosModules.zsh + ]; environment.systemPackages = with pkgs; [ pavucontrol @@ -12,6 +20,70 @@ wine usbutils virt-manager + prismlauncher + kubectl + kompose + openlens + htop + zip + unzip + dig + traceroute + neovim + wget + pciutils ]; + + programs = { + brave.enable = true; + lutris.enable = true; + vesktop.enable = true; + steam.enable = true; + }; + + networking.networkmanager.enable = true; + networking.hostName = "crow"; + + fonts.packages = with pkgs; [ + nerd-fonts.fira-code + nerd-fonts.droid-sans-mono + noto-fonts + ]; + + services = { + openssh.enable = true; + blueman.enable = true; + }; + + boot = { + loader = { + systemd-boot.enable = true; + efi.canTouchEfiVariables = true; + timeout = 1; + }; + + kernelPackages = pkgs.linuxPackages_latest; + kernelModules = [ "amdgpu" ]; + + # "Silent" boot + initrd.verbose = false; + kernelParams = [ + "quiet" + "splash" + "boot.shell_on_fail" + "loglevel=3" + "rd.systemd.show_status=false" + "rd.udev.log_level=3" + "udev.log_priority=3" + ]; + }; + + nix.settings.experimental-features = [ "nix-commands" "flakes" ]; + nix.settings.auto-optimise-store = true; + nix.gc = { + automatic = true; + dates = "weekly"; + options = "--delete-older-than 30d"; + }; }; } diff --git a/modules/users/nest.nix b/modules/users/nest.nix new file mode 100644 index 0000000..3e927c7 --- /dev/null +++ b/modules/users/nest.nix @@ -0,0 +1,9 @@ +{ + flake.nixosModules.nest = { + users.users.nest = { + description = "nest"; + isNormalUser = true; + extraGroups = [ "wheel" "network" ]; + }; + }; +} diff --git a/home-manager/common/default.nix b/old/home-manager/common/default.nix similarity index 100% rename from home-manager/common/default.nix rename to old/home-manager/common/default.nix diff --git a/home-manager/roles/desktop/common/apps/alacritty.nix b/old/home-manager/roles/desktop/common/apps/alacritty.nix similarity index 100% rename from home-manager/roles/desktop/common/apps/alacritty.nix rename to old/home-manager/roles/desktop/common/apps/alacritty.nix diff --git a/home-manager/roles/desktop/common/apps/brave.nix b/old/home-manager/roles/desktop/common/apps/brave.nix similarity index 100% rename from home-manager/roles/desktop/common/apps/brave.nix rename to old/home-manager/roles/desktop/common/apps/brave.nix diff --git a/home-manager/roles/desktop/common/apps/default.nix b/old/home-manager/roles/desktop/common/apps/default.nix similarity index 100% rename from home-manager/roles/desktop/common/apps/default.nix rename to old/home-manager/roles/desktop/common/apps/default.nix diff --git a/home-manager/roles/desktop/common/apps/lutris.nix b/old/home-manager/roles/desktop/common/apps/lutris.nix similarity index 100% rename from home-manager/roles/desktop/common/apps/lutris.nix rename to old/home-manager/roles/desktop/common/apps/lutris.nix diff --git a/home-manager/roles/desktop/common/apps/minecraft.nix b/old/home-manager/roles/desktop/common/apps/minecraft.nix similarity index 100% rename from home-manager/roles/desktop/common/apps/minecraft.nix rename to old/home-manager/roles/desktop/common/apps/minecraft.nix diff --git a/home-manager/roles/desktop/common/apps/vesktop.nix b/old/home-manager/roles/desktop/common/apps/vesktop.nix similarity index 100% rename from home-manager/roles/desktop/common/apps/vesktop.nix rename to old/home-manager/roles/desktop/common/apps/vesktop.nix diff --git a/home-manager/roles/desktop/common/default.nix b/old/home-manager/roles/desktop/common/default.nix similarity index 100% rename from home-manager/roles/desktop/common/default.nix rename to old/home-manager/roles/desktop/common/default.nix diff --git a/home-manager/roles/desktop/common/pfps/nest.webp b/old/home-manager/roles/desktop/common/pfps/nest.webp similarity index 100% rename from home-manager/roles/desktop/common/pfps/nest.webp rename to old/home-manager/roles/desktop/common/pfps/nest.webp diff --git a/home-manager/roles/desktop/niri/default.nix b/old/home-manager/roles/desktop/niri/default.nix similarity index 100% rename from home-manager/roles/desktop/niri/default.nix rename to old/home-manager/roles/desktop/niri/default.nix diff --git a/home-manager/roles/desktop/tiling/apps/default.nix b/old/home-manager/roles/desktop/tiling/apps/default.nix similarity index 100% rename from home-manager/roles/desktop/tiling/apps/default.nix rename to old/home-manager/roles/desktop/tiling/apps/default.nix diff --git a/home-manager/roles/desktop/tiling/apps/fuzzel.nix b/old/home-manager/roles/desktop/tiling/apps/fuzzel.nix similarity index 100% rename from home-manager/roles/desktop/tiling/apps/fuzzel.nix rename to old/home-manager/roles/desktop/tiling/apps/fuzzel.nix diff --git a/home-manager/roles/desktop/tiling/apps/mako.nix b/old/home-manager/roles/desktop/tiling/apps/mako.nix similarity index 100% rename from home-manager/roles/desktop/tiling/apps/mako.nix rename to old/home-manager/roles/desktop/tiling/apps/mako.nix diff --git a/home-manager/roles/desktop/tiling/apps/noctalia.nix b/old/home-manager/roles/desktop/tiling/apps/noctalia.nix similarity index 100% rename from home-manager/roles/desktop/tiling/apps/noctalia.nix rename to old/home-manager/roles/desktop/tiling/apps/noctalia.nix diff --git a/home-manager/roles/desktop/tiling/apps/quickshell.nix b/old/home-manager/roles/desktop/tiling/apps/quickshell.nix similarity index 100% rename from home-manager/roles/desktop/tiling/apps/quickshell.nix rename to old/home-manager/roles/desktop/tiling/apps/quickshell.nix diff --git a/home-manager/roles/desktop/tiling/apps/swaybg.nix b/old/home-manager/roles/desktop/tiling/apps/swaybg.nix similarity index 100% rename from home-manager/roles/desktop/tiling/apps/swaybg.nix rename to old/home-manager/roles/desktop/tiling/apps/swaybg.nix diff --git a/home-manager/roles/desktop/tiling/apps/swayidle.nix b/old/home-manager/roles/desktop/tiling/apps/swayidle.nix similarity index 100% rename from home-manager/roles/desktop/tiling/apps/swayidle.nix rename to old/home-manager/roles/desktop/tiling/apps/swayidle.nix diff --git a/home-manager/roles/desktop/tiling/apps/swaylock.nix b/old/home-manager/roles/desktop/tiling/apps/swaylock.nix similarity index 100% rename from home-manager/roles/desktop/tiling/apps/swaylock.nix rename to old/home-manager/roles/desktop/tiling/apps/swaylock.nix diff --git a/home-manager/roles/desktop/tiling/default.nix b/old/home-manager/roles/desktop/tiling/default.nix similarity index 100% rename from home-manager/roles/desktop/tiling/default.nix rename to old/home-manager/roles/desktop/tiling/default.nix diff --git a/home-manager/roles/lens/default.nix b/old/home-manager/roles/lens/default.nix similarity index 100% rename from home-manager/roles/lens/default.nix rename to old/home-manager/roles/lens/default.nix diff --git a/home-manager/roles/personal/default.nix b/old/home-manager/roles/personal/default.nix similarity index 100% rename from home-manager/roles/personal/default.nix rename to old/home-manager/roles/personal/default.nix diff --git a/hosts/physical/crow/default.nix b/old/hosts/physical/crow/default.nix similarity index 100% rename from hosts/physical/crow/default.nix rename to old/hosts/physical/crow/default.nix diff --git a/hosts/physical/crow/hardware-configuration.nix b/old/hosts/physical/crow/hardware-configuration.nix similarity index 100% rename from hosts/physical/crow/hardware-configuration.nix rename to old/hosts/physical/crow/hardware-configuration.nix diff --git a/hosts/physical/crow/host-configs/niri/config.kdl b/old/hosts/physical/crow/host-configs/niri/config.kdl similarity index 100% rename from hosts/physical/crow/host-configs/niri/config.kdl rename to old/hosts/physical/crow/host-configs/niri/config.kdl diff --git a/hosts/physical/crow/system-configuration.nix b/old/hosts/physical/crow/system-configuration.nix similarity index 100% rename from hosts/physical/crow/system-configuration.nix rename to old/hosts/physical/crow/system-configuration.nix diff --git a/hosts/physical/default.nix b/old/hosts/physical/default.nix similarity index 100% rename from hosts/physical/default.nix rename to old/hosts/physical/default.nix diff --git a/hosts/server/default.nix b/old/hosts/server/default.nix similarity index 100% rename from hosts/server/default.nix rename to old/hosts/server/default.nix diff --git a/hosts/server/robin/default.nix b/old/hosts/server/robin/default.nix similarity index 100% rename from hosts/server/robin/default.nix rename to old/hosts/server/robin/default.nix diff --git a/nixos/common/default.nix b/old/nixos/common/default.nix similarity index 100% rename from nixos/common/default.nix rename to old/nixos/common/default.nix diff --git a/nixos/modules/home-manager.nix b/old/nixos/modules/home-manager.nix similarity index 100% rename from nixos/modules/home-manager.nix rename to old/nixos/modules/home-manager.nix diff --git a/nixos/modules/zsh.nix b/old/nixos/modules/zsh.nix similarity index 100% rename from nixos/modules/zsh.nix rename to old/nixos/modules/zsh.nix diff --git a/nixos/roles/physical/desktop/common/apps/bolt-launcher.nix b/old/nixos/roles/physical/desktop/common/apps/bolt-launcher.nix similarity index 100% rename from nixos/roles/physical/desktop/common/apps/bolt-launcher.nix rename to old/nixos/roles/physical/desktop/common/apps/bolt-launcher.nix diff --git a/nixos/roles/physical/desktop/common/apps/default.nix b/old/nixos/roles/physical/desktop/common/apps/default.nix similarity index 100% rename from nixos/roles/physical/desktop/common/apps/default.nix rename to old/nixos/roles/physical/desktop/common/apps/default.nix diff --git a/nixos/roles/physical/desktop/common/apps/hsr.nix b/old/nixos/roles/physical/desktop/common/apps/hsr.nix similarity index 100% rename from nixos/roles/physical/desktop/common/apps/hsr.nix rename to old/nixos/roles/physical/desktop/common/apps/hsr.nix diff --git a/nixos/roles/physical/desktop/common/apps/pavucontrol.nix b/old/nixos/roles/physical/desktop/common/apps/pavucontrol.nix similarity index 100% rename from nixos/roles/physical/desktop/common/apps/pavucontrol.nix rename to old/nixos/roles/physical/desktop/common/apps/pavucontrol.nix diff --git a/nixos/roles/physical/desktop/common/apps/steam.nix b/old/nixos/roles/physical/desktop/common/apps/steam.nix similarity index 100% rename from nixos/roles/physical/desktop/common/apps/steam.nix rename to old/nixos/roles/physical/desktop/common/apps/steam.nix diff --git a/nixos/roles/physical/desktop/common/apps/usbutils.nix b/old/nixos/roles/physical/desktop/common/apps/usbutils.nix similarity index 100% rename from nixos/roles/physical/desktop/common/apps/usbutils.nix rename to old/nixos/roles/physical/desktop/common/apps/usbutils.nix diff --git a/nixos/roles/physical/desktop/common/apps/virt-manager.nix b/old/nixos/roles/physical/desktop/common/apps/virt-manager.nix similarity index 100% rename from nixos/roles/physical/desktop/common/apps/virt-manager.nix rename to old/nixos/roles/physical/desktop/common/apps/virt-manager.nix diff --git a/nixos/roles/physical/desktop/common/apps/wine.nix b/old/nixos/roles/physical/desktop/common/apps/wine.nix similarity index 100% rename from nixos/roles/physical/desktop/common/apps/wine.nix rename to old/nixos/roles/physical/desktop/common/apps/wine.nix diff --git a/nixos/roles/physical/desktop/common/default.nix b/old/nixos/roles/physical/desktop/common/default.nix similarity index 100% rename from nixos/roles/physical/desktop/common/default.nix rename to old/nixos/roles/physical/desktop/common/default.nix diff --git a/nixos/roles/physical/desktop/niri/default.nix b/old/nixos/roles/physical/desktop/niri/default.nix similarity index 100% rename from nixos/roles/physical/desktop/niri/default.nix rename to old/nixos/roles/physical/desktop/niri/default.nix diff --git a/users/nest.nix b/old/users/nest.nix similarity index 100% rename from users/nest.nix rename to old/users/nest.nix diff --git a/modules/parts.nix b/parts.nix similarity index 100% rename from modules/parts.nix rename to parts.nix