diff --git a/flake.nix b/flake.nix
index 17c2579..4a74d5f 100644
--- a/flake.nix
+++ b/flake.nix
@@ -38,87 +38,41 @@
};
};
- outputs = { self, nixpkgs, nixpkgs-stable, home-manager, ... }@inputs:
-
- let
- system = "x86_64-linux";
- in {
-
+ outputs = { self, nixpkgs, nixpkgs-stable, home-manager, ... }@inputs: let
+ system = "x86_64-linux";
+ in {
nixosConfigurations = {
- Rias = nixpkgs-stable.lib.nixosSystem {
+ Rias = nixpkgs.lib.nixosSystem {
specialArgs = {
- pkgs-unstable = import nixpkgs {
- inherit system;
- config.allowUnfree = true;
- };
- inherit inputs system;
- };
- modules = [
- ./nixos/hosts/Rias/configuration.nix
- inputs.sops-nix.nixosModules.sops
- ];
- };
-
- Senko = nixpkgs-stable.lib.nixosSystem {
- specialArgs = {
- pkgs-unstable = import nixpkgs {
- inherit system;
- config.allowUnfree = true;
- };
- inherit inputs system;
- };
- modules = [
- ./nixos/hosts/Senko/configuration.nix
- inputs.sops-nix.nixosModules.sops
- ];
- };
-
- Eclipse = nixpkgs-stable.lib.nixosSystem {
- specialArgs = {
- pkgs-unstable = import nixpkgs {
- inherit system;
- config.allowUnfree = true;
- };
- inherit inputs system;
- };
- modules = [
- ./nixos/hosts/Eclipse/configuration.nix
- inputs.sops-nix.nixosModules.sops
- ];
- };
- };
-
- homeConfigurations = {
- sweetbread = home-manager.lib.homeManagerConfiguration {
- pkgs = nixpkgs.legacyPackages.${system};
- extraSpecialArgs = {
- inherit inputs;
pkgs-stable = import nixpkgs-stable {
inherit system;
config.allowUnfree = true;
};
+ inherit inputs system;
};
- modules = [
- ./home-manager/users/sweetbread/home.nix
- inputs.sops-nix.homeManagerModules.sops
- inputs.stylix.homeManagerModules.stylix
- ];
+ modules = [ ./host/Rias/configuration.nix ];
};
-
- chest = home-manager.lib.homeManagerConfiguration {
- pkgs = nixpkgs.legacyPackages.${system};
- extraSpecialArgs = {
- inherit inputs;
+
+ Senko = nixpkgs.lib.nixosSystem {
+ specialArgs = {
pkgs-stable = import nixpkgs-stable {
inherit system;
config.allowUnfree = true;
};
+ inherit inputs system;
};
- modules = [
- ./home-manager/users/chest/home.nix
- inputs.sops-nix.homeManagerModules.sops
- inputs.stylix.homeManagerModules.stylix
- ];
+ modules = [ ./host/Senko/configuration.nix ];
+ };
+
+ Eclipse = nixpkgs.lib.nixosSystem {
+ specialArgs = {
+ pkgs-stable = import nixpkgs-stable {
+ inherit system;
+ config.allowUnfree = true;
+ };
+ inherit inputs system;
+ };
+ modules = [ ./host/Eclipse/configuration.nix ];
};
};
diff --git a/home-manager/modules/bundle.nix b/home-manager/modules/bundle.nix
deleted file mode 100644
index d1ea9f5..0000000
--- a/home-manager/modules/bundle.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- imports = [
- ./kitty.nix
- ./qt.nix
- ./sops.nix
- ./neofetch.nix
- ./yazi.nix
- ./ags.nix
- ./zsh.nix
- ./helix.nix
- ./btop.nix
-
- ./wms/wofi.nix
- ./wms/mako.nix
- ];
-}
diff --git a/home-manager/users/chest/home.nix b/home-manager/users/chest/home.nix
deleted file mode 100644
index 69440ca..0000000
--- a/home-manager/users/chest/home.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ pkgs, pkgs-stable, ... }: {
- imports = [
- ../../modules/bundle.nix
-
- ../../packages/art.nix
- ../../packages/desktop.nix
- ../../packages/utils.nix
-
- ./modules/git.nix
- ./modules/hyprland.nix
- ./modules/style.nix
- ];
-
- nixpkgs.config.allowUnfree = true;
-
- home = {
- username = "chest";
- homeDirectory = "/home/chest";
- stateVersion = "23.11";
-
- packages = with pkgs; [
- nautilus
- ] ++ (with pkgs-stable; [
- jetbrains.pycharm-community
- ]);
- };
-}
diff --git a/home-manager/users/sweetbread/home.nix b/home-manager/users/sweetbread/home.nix
deleted file mode 100644
index 9f02d0c..0000000
--- a/home-manager/users/sweetbread/home.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ pkgs, ... }: {
- imports = [
- ../../modules/bundle.nix
- ../../modules/hyprlock.nix
-
- ../../packages/coding.nix
- ../../packages/desktop.nix
- ../../packages/utils.nix
- ../../packages/art.nix
-
- ./modules/git.nix
- ./modules/hyprland.nix
- ./modules/style.nix
- ];
-
- nixpkgs.config.allowUnfree = true;
-
- home = {
- username = "sweetbread";
- homeDirectory = "/home/sweetbread";
- stateVersion = "23.11";
- };
-}
diff --git a/host/Eclipse/configuration.nix b/host/Eclipse/configuration.nix
new file mode 100644
index 0000000..75f6473
--- /dev/null
+++ b/host/Eclipse/configuration.nix
@@ -0,0 +1,26 @@
+{ config, pkgs, pkgs-stable, lib, inputs, ...}: {
+ imports = [
+ ./secrets/secrets.nix
+ ./modules/aagl.nix
+ ./modules/grub.nix
+ ./modules/zram.nix
+ ../modules/nvidia.nix
+
+ (import ../modules/common.nix {
+ inherit lib;
+ inherit inputs;
+ hostname = "Eclipse";
+ })
+
+ (import ../../user/common.nix {
+ inherit config;
+ inherit pkgs;
+ inherit pkgs-stable;
+ inherit lib;
+ inherit inputs;
+ name = "chest";
+ })
+ ];
+
+ programs.gamemode.enable = true;
+}
diff --git a/nixos/hosts/Eclipse/hardware-configuration.nix b/host/Eclipse/hardware-configuration.nix
similarity index 100%
rename from nixos/hosts/Eclipse/hardware-configuration.nix
rename to host/Eclipse/hardware-configuration.nix
diff --git a/host/Eclipse/modules/aagl.nix b/host/Eclipse/modules/aagl.nix
new file mode 100644
index 0000000..f34be27
--- /dev/null
+++ b/host/Eclipse/modules/aagl.nix
@@ -0,0 +1,29 @@
+{ inputs, ... }: {
+ imports = [ inputs.aagl.nixosModules.default ];
+ nix.settings = inputs.aagl.nixConfig; # Set up Cachix
+ programs.honkers-railway-launcher.enable = true;
+ networking.hosts."0.0.0.0" = [
+ "overseauspider.yuanshen.com"
+ "log-upload-os.hoyoverse.com"
+ "log-upload-os.mihoyo.com"
+ "dump.gamesafe.qq.com"
+
+ "apm-log-upload-os.hoyoverse.com"
+ "zzz-log-upload-os.hoyoverse.com"
+
+ "log-upload.mihoyo.com"
+ "devlog-upload.mihoyo.com"
+ "uspider.yuanshen.com"
+ "sg-public-data-api.hoyoverse.com"
+ "hkrpg-log-upload-os.hoyoverse.com"
+ "public-data-api.mihoyo.com"
+
+ "prd-lender.cdp.internal.unity3d.com"
+ "thind-prd-knob.data.ie.unity3d.com"
+ "thind-gke-usc.prd.data.corp.unity3d.com"
+ "cdp.cloud.unity3d.com"
+ "remote-config-proxy-prd.uca.cloud.unity3d.com"
+
+ "pc.crashsight.wetest.net"
+ ];
+}
diff --git a/nixos/hosts/Eclipse/modules/grub.nix b/host/Eclipse/modules/grub.nix
similarity index 100%
rename from nixos/hosts/Eclipse/modules/grub.nix
rename to host/Eclipse/modules/grub.nix
diff --git a/nixos/modules/zram.nix b/host/Eclipse/modules/zram.nix
similarity index 77%
rename from nixos/modules/zram.nix
rename to host/Eclipse/modules/zram.nix
index 33c9e07..7a2f8b0 100644
--- a/nixos/modules/zram.nix
+++ b/host/Eclipse/modules/zram.nix
@@ -2,7 +2,7 @@
zramSwap = {
enable = true;
algorithm = "lz4";
- memoryPercent = 100;
+ memoryPercent = 50;
priority = 999;
};
}
diff --git a/nixos/hosts/Eclipse/secrets/secrets.nix b/host/Eclipse/secrets/secrets.nix
similarity index 100%
rename from nixos/hosts/Eclipse/secrets/secrets.nix
rename to host/Eclipse/secrets/secrets.nix
diff --git a/nixos/hosts/Eclipse/secrets/vpn_bolt.db b/host/Eclipse/secrets/vpn_bolt.db
similarity index 100%
rename from nixos/hosts/Eclipse/secrets/vpn_bolt.db
rename to host/Eclipse/secrets/vpn_bolt.db
diff --git a/host/Rias/configuration.nix b/host/Rias/configuration.nix
new file mode 100644
index 0000000..0a48400
--- /dev/null
+++ b/host/Rias/configuration.nix
@@ -0,0 +1,27 @@
+{ config, pkgs, pkgs-stable, lib, inputs, ...}: {
+ imports = [
+ ./secrets/secrets.nix
+ ./modules/grub.nix
+ ./modules/syncthing.nix
+ ../../modules/host/adb.nix
+ ../modules/nvidia.nix
+
+ (import ../modules/common.nix {
+ inherit lib;
+ inherit inputs;
+ hostname = "Rias";
+ })
+
+ (import ../../user/common.nix {
+ inherit config;
+ inherit pkgs;
+ inherit pkgs-stable;
+ inherit lib;
+ inherit inputs;
+ name = "sweetbread";
+ fullname = "Sweet Bread";
+ })
+ ];
+
+ programs.gamemode.enable = true;
+}
diff --git a/nixos/hosts/Rias/hardware-configuration.nix b/host/Rias/hardware-configuration.nix
similarity index 100%
rename from nixos/hosts/Rias/hardware-configuration.nix
rename to host/Rias/hardware-configuration.nix
diff --git a/nixos/hosts/Rias/modules/grub.nix b/host/Rias/modules/grub.nix
similarity index 100%
rename from nixos/hosts/Rias/modules/grub.nix
rename to host/Rias/modules/grub.nix
diff --git a/nixos/hosts/Rias/modules/syncthing.nix b/host/Rias/modules/syncthing.nix
similarity index 100%
rename from nixos/hosts/Rias/modules/syncthing.nix
rename to host/Rias/modules/syncthing.nix
diff --git a/nixos/hosts/Rias/secrets/secrets.nix b/host/Rias/secrets/secrets.nix
similarity index 100%
rename from nixos/hosts/Rias/secrets/secrets.nix
rename to host/Rias/secrets/secrets.nix
diff --git a/nixos/hosts/Rias/secrets/syncthing_cert.pem b/host/Rias/secrets/syncthing_cert.pem
similarity index 100%
rename from nixos/hosts/Rias/secrets/syncthing_cert.pem
rename to host/Rias/secrets/syncthing_cert.pem
diff --git a/nixos/hosts/Rias/secrets/syncthing_key.pem b/host/Rias/secrets/syncthing_key.pem
similarity index 100%
rename from nixos/hosts/Rias/secrets/syncthing_key.pem
rename to host/Rias/secrets/syncthing_key.pem
diff --git a/nixos/hosts/Rias/secrets/vpn_bolt.db b/host/Rias/secrets/vpn_bolt.db
similarity index 100%
rename from nixos/hosts/Rias/secrets/vpn_bolt.db
rename to host/Rias/secrets/vpn_bolt.db
diff --git a/host/Senko/configuration.nix b/host/Senko/configuration.nix
new file mode 100644
index 0000000..04629e0
--- /dev/null
+++ b/host/Senko/configuration.nix
@@ -0,0 +1,26 @@
+{ config, pkgs, pkgs-stable, lib, inputs, ...}: {
+ imports = [
+ ./secrets/secrets.nix
+ ./modules/grub.nix
+ ../modules/nvidia.nix
+
+ (import ../modules/common.nix {
+ inherit lib;
+ inherit inputs;
+ hostname = "Senko";
+ })
+
+ (import ../../user/common.nix {
+ inherit config;
+ inherit pkgs;
+ inherit pkgs-stable;
+ inherit lib;
+ inherit inputs;
+ name = "sweetbread";
+ fullname = "Sweet Bread";
+ })
+ ];
+
+ hardware.bluetooth.enable = true;
+ host.laptop = true;
+}
diff --git a/nixos/hosts/Senko/hardware-configuration.nix b/host/Senko/hardware-configuration.nix
similarity index 100%
rename from nixos/hosts/Senko/hardware-configuration.nix
rename to host/Senko/hardware-configuration.nix
diff --git a/nixos/hosts/Senko/modules/grub.nix b/host/Senko/modules/grub.nix
similarity index 100%
rename from nixos/hosts/Senko/modules/grub.nix
rename to host/Senko/modules/grub.nix
diff --git a/host/Senko/secrets/secrets.nix b/host/Senko/secrets/secrets.nix
new file mode 100644
index 0000000..10c8c5b
--- /dev/null
+++ b/host/Senko/secrets/secrets.nix
@@ -0,0 +1,11 @@
+{
+ sops = {
+ age.keyFile = "/root/age.key";
+ secrets = {
+ vpn_bolt = {
+ format = "binary";
+ sopsFile = ./vpn_bolt.db;
+ };
+ };
+ };
+}
diff --git a/host/Senko/secrets/vpn_bolt.db b/host/Senko/secrets/vpn_bolt.db
new file mode 120000
index 0000000..226b09e
--- /dev/null
+++ b/host/Senko/secrets/vpn_bolt.db
@@ -0,0 +1 @@
+../../Rias/secrets/vpn_bolt.db
\ No newline at end of file
diff --git a/host/modules/common.nix b/host/modules/common.nix
new file mode 100644
index 0000000..733fbc0
--- /dev/null
+++ b/host/modules/common.nix
@@ -0,0 +1,20 @@
+{ lib, inputs, hostname }: {
+ imports = [
+ inputs.sops-nix.nixosModules.sops
+ ../${hostname}/hardware-configuration.nix
+ ../../modules/host.nix
+ ./packages.nix
+ ];
+
+ options = {
+ host.laptop = lib.mkEnableOption "laptop mode";
+ };
+
+ config = {
+ networking.hostName = hostname;
+ time.timeZone = lib.mkDefault "Europe/Moscow";
+ i18n.defaultLocale = lib.mkDefault "ru_RU.UTF-8";
+ nix.settings.experimental-features = [ "nix-command" "flakes" ];
+ system.stateVersion = "23.05";
+ };
+}
\ No newline at end of file
diff --git a/host/modules/nvidia.nix b/host/modules/nvidia.nix
new file mode 100644
index 0000000..edac7a6
--- /dev/null
+++ b/host/modules/nvidia.nix
@@ -0,0 +1,27 @@
+{ config, pkgs, lib, ... }: {
+ services.xserver.videoDrivers = [ "nvidia" ];
+ hardware = {
+ graphics = {
+ enable = true;
+ enable32Bit = true;
+ extraPackages = with pkgs; [nvidia-vaapi-driver intel-media-driver];
+ extraPackages32 = with pkgs.pkgsi686Linux; [nvidia-vaapi-driver intel-media-driver];
+ };
+
+ nvidia = {
+ modesetting.enable = true;
+ powerManagement = {
+ enable = true;
+ finegrained = false;
+ };
+ open = false;
+ nvidiaSettings = true;
+ package = config.boot.kernelPackages.nvidiaPackages.beta;
+
+ prime = lib.optionalAttrs config.host.laptop {
+ intelBusId = "PCI:0:2:0";
+ nvidiaBusId = "PCI:1:0:0";
+ };
+ };
+ };
+}
diff --git a/nixos/packages.nix b/host/modules/packages.nix
similarity index 61%
rename from nixos/packages.nix
rename to host/modules/packages.nix
index e4c3c1c..6188c4c 100644
--- a/nixos/packages.nix
+++ b/host/modules/packages.nix
@@ -1,8 +1,5 @@
-{ pkgs, pkgs-unstable, inputs, ... }: {
- nixpkgs.config = {
- allowUnfree = true;
- permittedInsecurePackages = ["python-2.7.18.8" "electron-25.9.0" "freeimage-unstable-2021-11-01" "obsidian-1.5.12"];
- };
+{ pkgs, inputs, ... }: {
+ nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
file
@@ -18,10 +15,9 @@
ncdu
tldr
helix
- pkgs-unstable.home-manager
];
- fonts.packages = with pkgs-unstable; [
+ fonts.packages = with pkgs; [
jetbrains-mono
noto-fonts
noto-fonts-emoji
diff --git a/modules/host.nix b/modules/host.nix
new file mode 100644
index 0000000..4bd5cd8
--- /dev/null
+++ b/modules/host.nix
@@ -0,0 +1,23 @@
+{
+ imports = [
+ ./host/bluetooth.nix
+ ./host/bootloader.nix
+ ./host/console.nix
+ ./host/env.nix
+ ./host/gamemode.nix
+ ./host/gpg.nix
+ ./host/laptop.nix
+ ./host/printing.nix
+ ./host/shutdown-on-lan.nix
+ ./host/sound.nix
+ ./host/virtmanager.nix
+ ./host/vpn.nix
+ ];
+
+ programs.hyprland.enable = true;
+ services = {
+ udisks2.enable = true;
+ fstrim.enable = true;
+ };
+ networking.networkmanager.enable = true;
+}
diff --git a/nixos/modules/adb.nix b/modules/host/adb.nix
similarity index 100%
rename from nixos/modules/adb.nix
rename to modules/host/adb.nix
diff --git a/nixos/modules/bluetooth.nix b/modules/host/bluetooth.nix
similarity index 67%
rename from nixos/modules/bluetooth.nix
rename to modules/host/bluetooth.nix
index 2aed505..6700eb3 100644
--- a/nixos/modules/bluetooth.nix
+++ b/modules/host/bluetooth.nix
@@ -1,6 +1,6 @@
-{
- hardware.bluetooth = {
- enable = true;
+{ config, lib, ... }: {
+ hardware.bluetooth =
+ lib.mkIf config.hardware.bluetooth.enable {
powerOnBoot = true;
settings = {
General = {
diff --git a/nixos/modules/bootloader.nix b/modules/host/bootloader.nix
similarity index 76%
rename from nixos/modules/bootloader.nix
rename to modules/host/bootloader.nix
index 819eb16..45cc4f7 100644
--- a/nixos/modules/bootloader.nix
+++ b/modules/host/bootloader.nix
@@ -2,24 +2,18 @@
boot = {
loader = {
timeout = 3;
- # systemd-boot.enable = true;
efi = {
efiSysMountPoint = "/boot";
canTouchEfiVariables = true;
};
- grub = {
+ grub = {
enable = true;
efiSupport = true;
device = "nodev";
useOSProber = true;
};
- # efi.canTouchEfiVariables = true;
};
- # initrd = {
- # verbose = false;
- # # systemd.enable = true;
- # };
consoleLogLevel = 0;
kernelParams = [
# "quiet"
@@ -34,7 +28,6 @@
enable = true;
theme = "black_hud";
themePackages = with pkgs; [
- # By default we would install all themes
(adi1090x-plymouth-themes.override {
selected_themes = [ "black_hud" ];
})
diff --git a/nixos/modules/console.nix b/modules/host/console.nix
similarity index 100%
rename from nixos/modules/console.nix
rename to modules/host/console.nix
diff --git a/nixos/modules/env.nix b/modules/host/env.nix
similarity index 100%
rename from nixos/modules/env.nix
rename to modules/host/env.nix
diff --git a/modules/host/gamemode.nix b/modules/host/gamemode.nix
new file mode 100644
index 0000000..0391ae2
--- /dev/null
+++ b/modules/host/gamemode.nix
@@ -0,0 +1,20 @@
+{ config, pkgs, pkgs-stable, lib, ... }:
+
+lib.mkIf config.programs.gamemode.enable {
+ programs.steam = {
+ enable = true;
+ gamescopeSession.enable = true;
+ };
+
+ environment.systemPackages = with pkgs-stable; [
+ mangohud
+ protonup
+ pkgs.bottles
+ heroic
+ ];
+
+ environment.sessionVariables = {
+ STEAM_EXTRA_COMPAT_TOOLS_PATHS =
+ "\${HOME}/.steam/root/compatibilitytools.d";
+ };
+}
diff --git a/nixos/modules/gpg.nix b/modules/host/gpg.nix
similarity index 100%
rename from nixos/modules/gpg.nix
rename to modules/host/gpg.nix
diff --git a/modules/host/laptop.nix b/modules/host/laptop.nix
new file mode 100644
index 0000000..a238b66
--- /dev/null
+++ b/modules/host/laptop.nix
@@ -0,0 +1,19 @@
+{ config, lib, ... }:
+
+lib.mkIf config.host.laptop {
+ services.tlp = {
+ enable = true;
+ settings = {
+ CPU_SCALING_GOVERNOR_ON_AC = "performance";
+ CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
+
+ CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
+ CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
+
+ CPU_MIN_PERF_ON_AC = 0;
+ CPU_MAX_PERF_ON_AC = 100;
+ CPU_MIN_PERF_ON_BAT = 0;
+ CPU_MAX_PERF_ON_BAT = 75;
+ };
+ };
+}
diff --git a/modules/host/printing.nix b/modules/host/printing.nix
new file mode 100644
index 0000000..1039185
--- /dev/null
+++ b/modules/host/printing.nix
@@ -0,0 +1,9 @@
+{ config, lib, ... }:
+
+lib.mkIf config.services.printing.enable {
+ services.avahi = {
+ enable = true;
+ nssmdns4 = true;
+ openFirewall = true;
+ };
+}
diff --git a/nixos/modules/shutdown-on-lan.nix b/modules/host/shutdown-on-lan.nix
similarity index 100%
rename from nixos/modules/shutdown-on-lan.nix
rename to modules/host/shutdown-on-lan.nix
diff --git a/modules/host/sound.nix b/modules/host/sound.nix
new file mode 100644
index 0000000..b1fdffe
--- /dev/null
+++ b/modules/host/sound.nix
@@ -0,0 +1,17 @@
+{
+ security.rtkit.enable = true;
+
+ services = {
+ pulseaudio.enable = false;
+ pipewire = {
+ enable = true;
+
+ alsa = {
+ enable = true;
+ support32Bit = true;
+ };
+
+ pulse.enable = true;
+ };
+ };
+}
diff --git a/nixos/modules/virtmanager.nix b/modules/host/virtmanager.nix
similarity index 53%
rename from nixos/modules/virtmanager.nix
rename to modules/host/virtmanager.nix
index 7c1cb57..bb554bb 100644
--- a/nixos/modules/virtmanager.nix
+++ b/modules/host/virtmanager.nix
@@ -1,7 +1,5 @@
{ pkgs, ... }: {
virtualisation.libvirtd.enable = true;
- programs.virt-manager = {
- enable = true;
- };
+ programs.virt-manager.enable = true;
}
diff --git a/nixos/modules/vpn.nix b/modules/host/vpn.nix
similarity index 100%
rename from nixos/modules/vpn.nix
rename to modules/host/vpn.nix
diff --git a/modules/user.nix b/modules/user.nix
new file mode 100644
index 0000000..d0d9a9c
--- /dev/null
+++ b/modules/user.nix
@@ -0,0 +1,20 @@
+{
+ imports = [
+ ./user/kitty.nix
+ ./user/qt.nix
+ ./user/sops.nix
+ ./user/neofetch.nix
+ ./user/yazi.nix
+ ./user/ags.nix
+ ./user/zsh.nix
+ ./user/helix.nix
+ ./user/hyprlock.nix
+ ./user/btop.nix
+ ./user/wofi.nix
+ ./user/mako.nix
+ ./user/packages/art.nix
+ ./user/packages/desktop.nix
+ ./user/packages/coding.nix
+ ./user/packages/utils.nix
+ ];
+}
diff --git a/home-manager/modules/ags.nix b/modules/user/ags.nix
similarity index 76%
rename from home-manager/modules/ags.nix
rename to modules/user/ags.nix
index dabed8f..ee442a9 100644
--- a/home-manager/modules/ags.nix
+++ b/modules/user/ags.nix
@@ -18,5 +18,5 @@
wayland.windowManager.hyprland.settings.exec-once = [ "ags run" ];
- xdg.configFile."ags".source = (pkgs.callPackage ../packages/drvs/ags.nix { colors = config.lib.stylix.colors; });
+ xdg.configFile."ags".source = (pkgs.callPackage ./packages/drvs/ags.nix { colors = config.lib.stylix.colors; });
}
diff --git a/home-manager/modules/btop.nix b/modules/user/btop.nix
similarity index 100%
rename from home-manager/modules/btop.nix
rename to modules/user/btop.nix
diff --git a/home-manager/modules/helix.nix b/modules/user/helix.nix
similarity index 100%
rename from home-manager/modules/helix.nix
rename to modules/user/helix.nix
diff --git a/home-manager/modules/hyprlock.nix b/modules/user/hyprlock.nix
similarity index 88%
rename from home-manager/modules/hyprlock.nix
rename to modules/user/hyprlock.nix
index dadcc3b..067ae6d 100644
--- a/home-manager/modules/hyprlock.nix
+++ b/modules/user/hyprlock.nix
@@ -1,4 +1,6 @@
-{ pkgs, lib, ... }: {
+{ config, pkgs, lib, ... }:
+
+lib.mkIf config.programs.hyprlock.enable {
wayland.windowManager.hyprland.settings.exec-once = [ "hyprlock" ];
programs.hyprlock = let
@@ -8,8 +10,6 @@
hash = "sha256-wRFs/Inw1wEzF5UKFn/o6e/xH5ZJ3SVNxxno+mDx2Fs=";
};
in {
- enable = true;
-
settings = {
background = {
path = lib.mkForce "${image}";
@@ -58,17 +58,12 @@
dots_center = false;
dots_rounding = -1;
dots_fade_time = 200;
- # outer_color = "rgb(151515)";
- # inner_color = "rgb(200, 200, 200)";
- # font_color = "rgb(10, 10, 10)";
font_family = "Noto Sans";
fade_on_empty = true;
fade_timeout = 1000;
placeholder_text = "Input Password...";
hide_input = false;
rounding = -1;
- # check_color = "rgb(204, 136, 34)";
- # fail_color = "rgb(204, 34, 34)";
fail_text = "$FAIL ($ATTEMPTS)";
fail_timeout = 2000;
fail_transition = 300;
diff --git a/home-manager/modules/kitty.nix b/modules/user/kitty.nix
similarity index 100%
rename from home-manager/modules/kitty.nix
rename to modules/user/kitty.nix
diff --git a/home-manager/modules/wms/mako.nix b/modules/user/mako.nix
similarity index 100%
rename from home-manager/modules/wms/mako.nix
rename to modules/user/mako.nix
diff --git a/home-manager/modules/neofetch.nix b/modules/user/neofetch.nix
similarity index 100%
rename from home-manager/modules/neofetch.nix
rename to modules/user/neofetch.nix
diff --git a/home-manager/packages/art.nix b/modules/user/packages/art.nix
similarity index 100%
rename from home-manager/packages/art.nix
rename to modules/user/packages/art.nix
diff --git a/home-manager/packages/coding.nix b/modules/user/packages/coding.nix
similarity index 100%
rename from home-manager/packages/coding.nix
rename to modules/user/packages/coding.nix
diff --git a/home-manager/packages/desktop.nix b/modules/user/packages/desktop.nix
similarity index 100%
rename from home-manager/packages/desktop.nix
rename to modules/user/packages/desktop.nix
diff --git a/home-manager/packages/drvs/ags.nix b/modules/user/packages/drvs/ags.nix
similarity index 100%
rename from home-manager/packages/drvs/ags.nix
rename to modules/user/packages/drvs/ags.nix
diff --git a/home-manager/packages/drvs/ags/README.md b/modules/user/packages/drvs/ags/README.md
similarity index 100%
rename from home-manager/packages/drvs/ags/README.md
rename to modules/user/packages/drvs/ags/README.md
diff --git a/home-manager/packages/drvs/ags/app.ts b/modules/user/packages/drvs/ags/app.ts
similarity index 100%
rename from home-manager/packages/drvs/ags/app.ts
rename to modules/user/packages/drvs/ags/app.ts
diff --git a/home-manager/packages/drvs/ags/style.scss b/modules/user/packages/drvs/ags/style.scss
similarity index 100%
rename from home-manager/packages/drvs/ags/style.scss
rename to modules/user/packages/drvs/ags/style.scss
diff --git a/home-manager/packages/drvs/ags/widget/Bar.tsx b/modules/user/packages/drvs/ags/widget/Bar.tsx
similarity index 100%
rename from home-manager/packages/drvs/ags/widget/Bar.tsx
rename to modules/user/packages/drvs/ags/widget/Bar.tsx
diff --git a/home-manager/packages/drvs/ags/widget/elements/Audio.tsx b/modules/user/packages/drvs/ags/widget/elements/Audio.tsx
similarity index 100%
rename from home-manager/packages/drvs/ags/widget/elements/Audio.tsx
rename to modules/user/packages/drvs/ags/widget/elements/Audio.tsx
diff --git a/home-manager/packages/drvs/ags/widget/elements/Battery.tsx b/modules/user/packages/drvs/ags/widget/elements/Battery.tsx
similarity index 100%
rename from home-manager/packages/drvs/ags/widget/elements/Battery.tsx
rename to modules/user/packages/drvs/ags/widget/elements/Battery.tsx
diff --git a/home-manager/packages/drvs/ags/widget/elements/Keyboard.tsx b/modules/user/packages/drvs/ags/widget/elements/Keyboard.tsx
similarity index 100%
rename from home-manager/packages/drvs/ags/widget/elements/Keyboard.tsx
rename to modules/user/packages/drvs/ags/widget/elements/Keyboard.tsx
diff --git a/home-manager/packages/drvs/ags/widget/elements/Media.tsx b/modules/user/packages/drvs/ags/widget/elements/Media.tsx
similarity index 100%
rename from home-manager/packages/drvs/ags/widget/elements/Media.tsx
rename to modules/user/packages/drvs/ags/widget/elements/Media.tsx
diff --git a/home-manager/packages/drvs/ags/widget/elements/SysTray.tsx b/modules/user/packages/drvs/ags/widget/elements/SysTray.tsx
similarity index 100%
rename from home-manager/packages/drvs/ags/widget/elements/SysTray.tsx
rename to modules/user/packages/drvs/ags/widget/elements/SysTray.tsx
diff --git a/home-manager/packages/drvs/ags/widget/elements/Time.tsx b/modules/user/packages/drvs/ags/widget/elements/Time.tsx
similarity index 100%
rename from home-manager/packages/drvs/ags/widget/elements/Time.tsx
rename to modules/user/packages/drvs/ags/widget/elements/Time.tsx
diff --git a/home-manager/packages/drvs/ags/widget/elements/Wifi.tsx b/modules/user/packages/drvs/ags/widget/elements/Wifi.tsx
similarity index 100%
rename from home-manager/packages/drvs/ags/widget/elements/Wifi.tsx
rename to modules/user/packages/drvs/ags/widget/elements/Wifi.tsx
diff --git a/home-manager/packages/drvs/ags/widget/elements/Workspaces.tsx b/modules/user/packages/drvs/ags/widget/elements/Workspaces.tsx
similarity index 100%
rename from home-manager/packages/drvs/ags/widget/elements/Workspaces.tsx
rename to modules/user/packages/drvs/ags/widget/elements/Workspaces.tsx
diff --git a/home-manager/packages/utils.nix b/modules/user/packages/utils.nix
similarity index 100%
rename from home-manager/packages/utils.nix
rename to modules/user/packages/utils.nix
diff --git a/home-manager/patterns/hyprland.nix b/modules/user/patterns/hyprland.nix
similarity index 99%
rename from home-manager/patterns/hyprland.nix
rename to modules/user/patterns/hyprland.nix
index 776b998..4d98671 100644
--- a/home-manager/patterns/hyprland.nix
+++ b/modules/user/patterns/hyprland.nix
@@ -82,15 +82,18 @@
env = [
"LIBVA_DRIVER_NAME,nvidia"
- "XDG_SESSION_TYPE,wayland"
- "GBM_BACKEND,nvidia"
"__GLX_VENDOR_LIBRARY_NAME,nvidia"
- "WLR_NO_HARDWARE_CURSORS,1"
- "XDG_CURRENT_DESKTOP,Hyprland"
+ "GBM_BACKEND,nvidia"
+
"XDG_SESSION_TYPE,wayland"
- "XDG_SESSION_DESKTOP,Hyprland"
- "XCURSOR_SIZE,36"
"QT_QPA_PLATFORM,wayland"
+
+ "XDG_CURRENT_DESKTOP,Hyprland"
+ "XDG_SESSION_DESKTOP,Hyprland"
+
+ "WLR_NO_HARDWARE_CURSORS,1"
+ "XCURSOR_SIZE,36"
+
"XDG_SCREENSHOTS_DIR,~/screens"
];
diff --git a/home-manager/modules/qt.nix b/modules/user/qt.nix
similarity index 100%
rename from home-manager/modules/qt.nix
rename to modules/user/qt.nix
diff --git a/home-manager/modules/sops.nix b/modules/user/sops.nix
similarity index 68%
rename from home-manager/modules/sops.nix
rename to modules/user/sops.nix
index 20d3bc5..1bc1150 100644
--- a/home-manager/modules/sops.nix
+++ b/modules/user/sops.nix
@@ -1,6 +1,6 @@
{ config, ... }: {
sops = {
- defaultSopsFile = ../users/${config.home.username}/secrets.yaml;
+ defaultSopsFile = ../../user/${config.home.username}/secrets.yaml;
age.keyFile = "${config.home.homeDirectory}/.config/sops/age/keys.txt";
secrets."tokens/apis/wallhaven" = {};
diff --git a/home-manager/modules/wms/wofi.nix b/modules/user/wofi.nix
similarity index 100%
rename from home-manager/modules/wms/wofi.nix
rename to modules/user/wofi.nix
diff --git a/home-manager/modules/yazi.nix b/modules/user/yazi.nix
similarity index 100%
rename from home-manager/modules/yazi.nix
rename to modules/user/yazi.nix
diff --git a/home-manager/modules/zsh.nix b/modules/user/zsh.nix
similarity index 100%
rename from home-manager/modules/zsh.nix
rename to modules/user/zsh.nix
diff --git a/nixos/hosts/Eclipse/configuration.nix b/nixos/hosts/Eclipse/configuration.nix
deleted file mode 100644
index 47aa086..0000000
--- a/nixos/hosts/Eclipse/configuration.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ config, pkgs, ...}: {
- imports = [
- ./hardware-configuration.nix
- ./secrets/secrets.nix
- ./modules/grub.nix
- ./modules/aagl.nix
- ../../packages.nix
- ../../modules/bundle.nix
- ../../modules/gamemode.nix
- ../../modules/users/chest.nix
- ];
-
- networking.hostName = "Eclipse";
-
- time.timeZone = "Europe/Moscow";
-
- i18n.defaultLocale = "ru_RU.UTF-8";
-
- nix.settings.experimental-features = [ "nix-command" "flakes" ];
-
- system.stateVersion = "23.05";
-
- hardware.graphics = {
- enable = true;
- enable32Bit = true;
- extraPackages = with pkgs; [nvidia-vaapi-driver intel-media-driver];
- extraPackages32 = with pkgs.pkgsi686Linux; [nvidia-vaapi-driver intel-media-driver];
- };
-
- services.xserver.videoDrivers = [ "nvidia" ];
-
- hardware.nvidia = {
- modesetting.enable = true;
- powerManagement.enable = true;
- powerManagement.finegrained = false;
- open = false;
- nvidiaSettings = true;
- package = config.boot.kernelPackages.nvidiaPackages.stable;
- };
-
- networking.hosts = {
- "0.0.0.0" = [
- "overseauspider.yuanshen.com"
- "log-upload-os.hoyoverse.com"
- "log-upload-os.mihoyo.com"
- "dump.gamesafe.qq.com"
-
- "apm-log-upload-os.hoyoverse.com"
- "zzz-log-upload-os.hoyoverse.com"
-
- "log-upload.mihoyo.com"
- "devlog-upload.mihoyo.com"
- "uspider.yuanshen.com"
- "sg-public-data-api.hoyoverse.com"
- "hkrpg-log-upload-os.hoyoverse.com"
- "public-data-api.mihoyo.com"
-
- "prd-lender.cdp.internal.unity3d.com"
- "thind-prd-knob.data.ie.unity3d.com"
- "thind-gke-usc.prd.data.corp.unity3d.com"
- "cdp.cloud.unity3d.com"
- "remote-config-proxy-prd.uca.cloud.unity3d.com"
-
- "pc.crashsight.wetest.net"
- ];
- };
-}
-
diff --git a/nixos/hosts/Eclipse/modules/aagl.nix b/nixos/hosts/Eclipse/modules/aagl.nix
deleted file mode 100644
index 1b6ede2..0000000
--- a/nixos/hosts/Eclipse/modules/aagl.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ inputs, ... }: {
- imports = [ inputs.aagl.nixosModules.default ];
- nix.settings = inputs.aagl.nixConfig; # Set up Cachix
- programs.honkers-railway-launcher.enable = true;
-}
diff --git a/nixos/hosts/Rias/configuration.nix b/nixos/hosts/Rias/configuration.nix
deleted file mode 100644
index a3c6854..0000000
--- a/nixos/hosts/Rias/configuration.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ config, pkgs, inputs, ...}: {
- imports = [
- ./hardware-configuration.nix
- ./secrets/secrets.nix
- ./modules/grub.nix
- ./modules/syncthing.nix
- ../../packages.nix
- ../../modules/bundle.nix
- ../../modules/adb.nix
- ../../modules/gamemode.nix
- ../../modules/users/sweetbread.nix
- ];
-
- networking.hostName = "Rias";
-
- time.timeZone = "Europe/Moscow";
-
- i18n.defaultLocale = "ru_RU.UTF-8";
-
- nix.settings.experimental-features = [ "nix-command" "flakes" ];
-
- system.stateVersion = "23.05";
-
- hardware.graphics = {
- enable = true;
- enable32Bit = true;
- extraPackages = with pkgs; [nvidia-vaapi-driver intel-media-driver];
- extraPackages32 = with pkgs.pkgsi686Linux; [nvidia-vaapi-driver intel-media-driver];
- };
-
- services.xserver.videoDrivers = [ "nvidia" ];
-
- hardware.nvidia = {
- modesetting.enable = true;
- powerManagement.enable = true;
- powerManagement.finegrained = false;
- open = false;
- nvidiaSettings = true;
- package = config.boot.kernelPackages.nvidiaPackages.stable;
- };
-
- virtualisation.virtualbox.host.enable = true;
- users.extraGroups.vboxusers.members = [ "sweetbread" ];
-
-}
diff --git a/nixos/hosts/Senko/configuration.nix b/nixos/hosts/Senko/configuration.nix
deleted file mode 100644
index 238dacf..0000000
--- a/nixos/hosts/Senko/configuration.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ config, pkgs, ...}: {
- imports = [
- ./hardware-configuration.nix
- ./secrets/secrets.nix
- ./modules/grub.nix
- ../../packages.nix
- ../../modules/bundle.nix
- ../../modules/adb.nix
- ../../modules/users/sweetbread.nix
- ../../modules/laptop.nix
- ];
-
- networking.hostName = "Senko";
-
- time.timeZone = "Europe/Moscow";
-
- i18n.defaultLocale = "ru_RU.UTF-8";
-
- nix.settings.experimental-features = [ "nix-command" "flakes" ];
-
- system.stateVersion = "23.05";
-
- hardware.graphics = {
- enable = true;
- enable32Bit = true;
- extraPackages = with pkgs; [nvidia-vaapi-driver intel-media-driver];
- extraPackages32 = with pkgs.pkgsi686Linux; [nvidia-vaapi-driver intel-media-driver];
- };
-
- services.xserver.videoDrivers = [ "nvidia" ];
-
- hardware.nvidia = {
- modesetting.enable = true;
- powerManagement.enable = true;
- powerManagement.finegrained = false;
- open = false;
- nvidiaSettings = true;
- package = config.boot.kernelPackages.nvidiaPackages.stable;
- };
-}
diff --git a/nixos/hosts/Senko/secrets b/nixos/hosts/Senko/secrets
deleted file mode 120000
index 50d6fdb..0000000
--- a/nixos/hosts/Senko/secrets
+++ /dev/null
@@ -1 +0,0 @@
-../Rias/secrets
\ No newline at end of file
diff --git a/nixos/modules/bundle.nix b/nixos/modules/bundle.nix
deleted file mode 100644
index daa2751..0000000
--- a/nixos/modules/bundle.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- imports = [
- ./bootloader.nix
- ./sound.nix
- ./zram.nix
- ./env.nix
- ./nm.nix
- ./virtmanager.nix
- ./trim.nix
- ./bluetooth.nix
- ./vpn.nix
- ./printing.nix
- ./shutdown-on-lan.nix
- ./console.nix
- ];
-
- programs.hyprland.enable = true;
- services.udisks2.enable = true;
-}
diff --git a/nixos/modules/gamemode.nix b/nixos/modules/gamemode.nix
deleted file mode 100644
index cab4cb8..0000000
--- a/nixos/modules/gamemode.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ pkgs, pkgs-unstable, ...}: {
- programs.steam.enable = true;
- programs.steam.gamescopeSession.enable = true;
- programs.gamemode.enable = true;
-
- environment.systemPackages = with pkgs; [
- mangohud
- protonup
- pkgs-unstable.bottles
- heroic
- ];
-
- environment.sessionVariables = {
- STEAM_EXTRA_COMPAT_TOOLS_PATHS =
- "\${HOME}/.steam/root/compatibilitytools.d";
- };
-}
diff --git a/nixos/modules/laptop.nix b/nixos/modules/laptop.nix
deleted file mode 100644
index d48f634..0000000
--- a/nixos/modules/laptop.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- services.tlp = {
- enable = true;
- settings = {
- CPU_SCALING_GOVERNOR_ON_AC = "performance";
- CPU_SCALING_GOVERNOR_ON_BAT = "powersave";
-
- CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
- CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
-
- CPU_MIN_PERF_ON_AC = 0;
- CPU_MAX_PERF_ON_AC = 100;
- CPU_MIN_PERF_ON_BAT = 0;
- CPU_MAX_PERF_ON_BAT = 25;
- };
- };
-}
diff --git a/nixos/modules/nm.nix b/nixos/modules/nm.nix
deleted file mode 100644
index f29d881..0000000
--- a/nixos/modules/nm.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- networking.networkmanager.enable = true;
-}
diff --git a/nixos/modules/printing.nix b/nixos/modules/printing.nix
deleted file mode 100644
index 98a0314..0000000
--- a/nixos/modules/printing.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{
- services = {
- printing.enable = true;
- avahi = {
- enable = true;
- nssmdns4 = true;
- openFirewall = true;
- };
- };
-}
diff --git a/nixos/modules/sound.nix b/nixos/modules/sound.nix
deleted file mode 100644
index 2433450..0000000
--- a/nixos/modules/sound.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- hardware.pulseaudio.enable = false;
-
- # rtkit is optional but recommended
- security.rtkit.enable = true;
-
- services.pipewire = {
- enable = true;
-
- alsa.enable = true;
- alsa.support32Bit = true;
- pulse.enable = true;
-
- # If you want to use JACK applications, uncomment this
- #jack.enable = true;
- };
-}
diff --git a/nixos/modules/trim.nix b/nixos/modules/trim.nix
deleted file mode 100644
index 84d7613..0000000
--- a/nixos/modules/trim.nix
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- services.fstrim.enable = true;
-}
diff --git a/nixos/modules/users/chest.nix b/nixos/modules/users/chest.nix
deleted file mode 100644
index 8603327..0000000
--- a/nixos/modules/users/chest.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ pkgs, lib, inputs, ... }: {
- programs.zsh.enable = true;
-
- users = {
- defaultUserShell = pkgs.zsh;
-
- users.chest = {
- isNormalUser = true;
- description = "Chest";
- extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" ];
- packages = with pkgs; [];
- };
- };
-
- services.greetd = let
- tuigreet = pkgs.lib.getExe pkgs.greetd.tuigreet;
- session = lib.getExe inputs.hyprland.packages.${pkgs.system}.default;
- username = "chest";
- in {
- enable = true;
- settings = {
- initial_session = {
- command = "${session}";
- user = "${username}";
- };
- default_session = {
- command = "${tuigreet} --greeting 'Welcome to NixOS!' --asterisks --remember --remember-user-session --time -cmd ${session}";
- user = "greeter";
- };
- };
- };
-
- nix.settings.trusted-users = [ "chest" ];
-}
diff --git a/nixos/modules/users/sweetbread.nix b/nixos/modules/users/sweetbread.nix
deleted file mode 100644
index bf9e87e..0000000
--- a/nixos/modules/users/sweetbread.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ pkgs, lib, inputs, ... }: {
- programs.zsh.enable = true;
-
- users = {
- defaultUserShell = pkgs.zsh;
-
- users.sweetbread = {
- isNormalUser = true;
- description = "Sweet Bread";
- extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" ];
- packages = with pkgs; [];
- };
- };
-
- services.greetd = let
- tuigreet = pkgs.lib.getExe pkgs.greetd.tuigreet;
- session = lib.getExe inputs.hyprland.packages.${pkgs.system}.default;
- username = "sweetbread";
- in {
- enable = true;
- settings = {
- initial_session = {
- command = "${session}";
- user = "${username}";
- };
- default_session = {
- command = "${tuigreet} --greeting 'Welcome to NixOS!' --asterisks --remember --remember-user-session --time -cmd ${session}";
- user = "greeter";
- };
- };
- };
-
- nix.settings.trusted-users = [ "sweetbread" ];
-}
diff --git a/user/chest/home.nix b/user/chest/home.nix
new file mode 100644
index 0000000..c288e23
--- /dev/null
+++ b/user/chest/home.nix
@@ -0,0 +1,7 @@
+{ pkgs, pkgs-stable, ... }: {
+ disabledModules = [ ../../modules/user/packages/coding.nix ];
+ home.packages = [
+ pkgs.nautilus
+ pkgs-stable.jetbrains.pycharm-community
+ ];
+}
diff --git a/home-manager/users/chest/modules/git.nix b/user/chest/modules/git.nix
similarity index 64%
rename from home-manager/users/chest/modules/git.nix
rename to user/chest/modules/git.nix
index 4322379..5599e5d 100644
--- a/home-manager/users/chest/modules/git.nix
+++ b/user/chest/modules/git.nix
@@ -2,6 +2,6 @@
programs.git = {
enable = true;
userName = "cheeest";
- userEmail = "a.e.sunduk@gmail.com";
+ userEmail = "e.a.sunduk@gmail.com";
};
}
diff --git a/home-manager/users/chest/modules/hyprland.nix b/user/chest/modules/hyprland.nix
similarity index 97%
rename from home-manager/users/chest/modules/hyprland.nix
rename to user/chest/modules/hyprland.nix
index cd36e96..f59c1d6 100644
--- a/home-manager/users/chest/modules/hyprland.nix
+++ b/user/chest/modules/hyprland.nix
@@ -1,6 +1,6 @@
{ pkgs, lib, config, inputs, ... }: {
imports = [(
- import ../../../patterns/hyprland.nix {
+ import ../../../modules/user/patterns/hyprland.nix {
inherit lib;
inherit pkgs;
inherit config;
diff --git a/home-manager/users/chest/modules/style.nix b/user/chest/modules/style.nix
similarity index 100%
rename from home-manager/users/chest/modules/style.nix
rename to user/chest/modules/style.nix
diff --git a/home-manager/users/chest/secrets.yaml b/user/chest/secrets.yaml
similarity index 100%
rename from home-manager/users/chest/secrets.yaml
rename to user/chest/secrets.yaml
diff --git a/user/common.nix b/user/common.nix
new file mode 100644
index 0000000..d67d531
--- /dev/null
+++ b/user/common.nix
@@ -0,0 +1,62 @@
+{ pkgs, pkgs-stable, lib, inputs, name, fullname ? name, ... }: {
+ imports = [
+ inputs.home-manager.nixosModules.home-manager {
+ home-manager = {
+ useGlobalPkgs = true;
+ useUserPackages = true;
+ users.${name} = {
+ imports = [
+ inputs.sops-nix.homeManagerModules.sops
+ inputs.stylix.homeManagerModules.stylix
+ ../modules/user.nix
+ ./${name}/modules/git.nix
+ ./${name}/modules/hyprland.nix
+ ./${name}/modules/style.nix
+ ./${name}/home.nix
+ ];
+
+ home = {
+ username = name;
+ homeDirectory = "/home/${name}";
+ stateVersion = "23.11";
+ };
+ };
+ extraSpecialArgs = {
+ inherit inputs;
+ inherit pkgs-stable;
+ };
+ };
+ }
+ ];
+
+ programs.zsh.enable = true;
+
+ users = {
+ defaultUserShell = pkgs.zsh;
+
+ users."${name}" = {
+ isNormalUser = true;
+ description = fullname;
+ extraGroups = [ "networkmanager" "wheel" "input" "libvirtd" ];
+ };
+ };
+
+ services.greetd = let
+ tuigreet = lib.getExe pkgs.greetd.tuigreet;
+ session = lib.getExe inputs.hyprland.packages.${pkgs.system}.default;
+ in {
+ enable = true;
+ settings = {
+ initial_session = {
+ command = "${session}";
+ user = "${name}";
+ };
+ default_session = {
+ command = "${tuigreet} --greeting 'Welcome to NixOS!' --asterisks --remember --remember-user-session --time -cmd ${session}";
+ user = "greeter";
+ };
+ };
+ };
+
+ nix.settings.trusted-users = [ name ];
+}
diff --git a/user/sweetbread/home.nix b/user/sweetbread/home.nix
new file mode 100644
index 0000000..f8afcee
--- /dev/null
+++ b/user/sweetbread/home.nix
@@ -0,0 +1,3 @@
+{
+ programs.hyprlock.enable = true;
+}
diff --git a/home-manager/users/sweetbread/modules/git.nix b/user/sweetbread/modules/git.nix
similarity index 100%
rename from home-manager/users/sweetbread/modules/git.nix
rename to user/sweetbread/modules/git.nix
diff --git a/home-manager/users/sweetbread/modules/hyprland.nix b/user/sweetbread/modules/hyprland.nix
similarity index 97%
rename from home-manager/users/sweetbread/modules/hyprland.nix
rename to user/sweetbread/modules/hyprland.nix
index 368b191..6cd00ba 100644
--- a/home-manager/users/sweetbread/modules/hyprland.nix
+++ b/user/sweetbread/modules/hyprland.nix
@@ -1,6 +1,6 @@
{ pkgs, lib, config, inputs, ... }: {
imports = [(
- import ../../../patterns/hyprland.nix {
+ import ../../../modules/user/patterns/hyprland.nix {
inherit lib;
inherit pkgs;
inherit config;
diff --git a/home-manager/users/sweetbread/modules/style.nix b/user/sweetbread/modules/style.nix
similarity index 100%
rename from home-manager/users/sweetbread/modules/style.nix
rename to user/sweetbread/modules/style.nix
diff --git a/home-manager/users/sweetbread/secrets.yaml b/user/sweetbread/secrets.yaml
similarity index 100%
rename from home-manager/users/sweetbread/secrets.yaml
rename to user/sweetbread/secrets.yaml