diff --git a/.gitignore b/.gitignore
index 6067e95..012d925 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,4 +10,6 @@
!/hosts/
!/modules/
!/home-manager/
-!/shells/
\ No newline at end of file
+!/shells/
+!/images/
+!/profiles/
\ No newline at end of file
diff --git a/README.md b/README.md
index e69de29..4dba095 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1,32 @@
+# dotfiles
+NixOS + Home Manager
+
+## Pickup Software
+- Window Manager: Niri
+- Lancher: Vicinae
+- Bar: Noctalia
+- Editor: msedit, neovim, vscode
+- Terminal: ghostty, oh-my-zsh
+
+## Directory Structure
+- hosts/{host-name}
+ Hardware-specific configurations that abstract differences between hardware. Keep these minimal. Add new configurations when running NixOS on new hardware without existing support.
+ - default.nix
+ Moved from `/etc/nixos/configuration.nix`
+ - hardware-configuration.nix
+ Run `sudo nixos-generate-config` or moved from `/etc/nixos/hardware-configuration.nix`
+ - variables.nix
+ Config
+- images
+- modules
+ - core
+ Files related to NixOS configuration
+ - drivers
+ Files related to drivers such as GPUs
+ - home
+ Home-manager configuration files
+- profiles
+ Build configurations for each environment by combining NixOS configurations and home-manager configurations.
+- shells
+ Shell environment.
+- wallpapers
\ No newline at end of file
diff --git a/flake.nix b/flake.nix
index f358ff8..0bdd297 100644
--- a/flake.nix
+++ b/flake.nix
@@ -1,44 +1,30 @@
{
- description = "Multi host Nix(OS) + Home Manager + flake";
+ description = "moons nix configurations and development shells";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
- home-manager.url = "github:nix-community/home-manager/release-25.05";
- # home-manager.inputs.nixpkgs.follows = "nixpkgs";
-
- sops-nix.url = "github:Mic92/sops-nix";
- impermanence.url = "github:nix-community/impermanence";
+ home-manager = {
+ url = "github:nix-community/home-manager/release-25.05";
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
vicinae.url = "github:vicinaehq/vicinae";
};
-
- outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, sops-nix, impermanence, vicinae, ...}:
+
+ outputs = inputs@{ self, nixpkgs, nixpkgs-unstable, nixos-hardware, home-manager, ...}:
let
- mkSystem = { host, system, extraModules ? [ ] }:
- let
- pkgsUnstable = import nixpkgs-unstable { inherit system; config.allowUnfree = true; };
- in
+ mkSystem = { host, system, profile, extraModules ? [ ] }:
nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = {
- inherit inputs pkgsUnstable;
+ inherit inputs;
+ inherit host;
+ inherit profile;
};
modules = [
- # host config
- ./hosts/${host}/default.nix
-
- # Home Manager
- home-manager.nixosModules.home-manager
- { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; }
-
- # common NixOS module
- ./modules/nixos/base.nix
- ./modules/nixos/cli.nix
- ./modules/nixos/sops.nix
- ./modules/nixos/impermanence.nix
- ./modules/nixos/font.nix
+ ./profiles/${profile}.nix
] ++ extraModules;
};
in {
@@ -46,17 +32,8 @@
x1g9 = mkSystem {
host = "x1g9";
system = "x86_64-linux";
- extraModules = [
- # X1 Carbon Gen 9 Hardware Profile
- nixos-hardware.nixosModules.lenovo-thinkpad-x1-9th-gen
- # GUI and x1g9 only App
- ./modules/nixos/desktop.nix
- ];
- };
-
- dev-server = mkSystem {
- host = "dev-server";
- system = "x86_64-linux";
+ profile = "cli-minimal";
+ extraModules = [ ];
};
};
diff --git a/home-manager/hosts/x1g9.nix b/home-manager/hosts/x1g9.nix
deleted file mode 100644
index 02e9fad..0000000
--- a/home-manager/hosts/x1g9.nix
+++ /dev/null
@@ -1,4 +0,0 @@
-{ ... } :
-{
- home.sessionVariables.BROWSER = "google-chrome-stable";
-}
\ No newline at end of file
diff --git a/home-manager/moons/default.nix b/home-manager/moons/default.nix
deleted file mode 100644
index 4f0daf9..0000000
--- a/home-manager/moons/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ pkgs, lib, config, ... }:
-let
- isDrawin = pkgs.stdenv.isDrawin;
-in
-{
- home.username = "moons";
- home.homeDirectory = lib.mkDefault (if isDrawin then "/Users/moons" else "/home/moons");
- programs.home-manager.enable = true;
- home.stateVersion = "25.05";
-
- imports = [
- ../../modules/hm/cli.nix
- ];
-}
diff --git a/hosts/x1g9/default.nix b/hosts/x1g9/default.nix
index d6bf91e..9826e43 100644
--- a/hosts/x1g9/default.nix
+++ b/hosts/x1g9/default.nix
@@ -2,29 +2,12 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
-{ config, pkgs, lib, inputs, ... }:
+{ inputs, ... }:
{
imports =
[
./hardware-configuration.nix
+ inputs.nixos-hardware.nixosModules.lenovo-thinkpad-x1-9th-gen
];
-
- # Bootloader.
- boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = true;
-
-
- # Define your hostname.
- networking.hostName = "x1g9";
-
- home-manager.users.moons = {
- imports = [
- ../../home-manager/moons/default.nix
- ../../modules/hm/gui.nix
- ../../home-manager/hosts/x1g9.nix
- inputs.vicinae.homeManagerModules.default
- ../../modules/hm/vicinae.nix
- ];
- };
}
diff --git a/modules/core/boot.nix b/modules/core/boot.nix
new file mode 100644
index 0000000..a96a850
--- /dev/null
+++ b/modules/core/boot.nix
@@ -0,0 +1,7 @@
+{ ... }:
+{
+ boot.loader = {
+ systemd-boot.enable = true;
+ efi.canTouchEfiVariables = true;
+ };
+}
\ No newline at end of file
diff --git a/modules/core/default.nix b/modules/core/default.nix
new file mode 100644
index 0000000..3a43547
--- /dev/null
+++ b/modules/core/default.nix
@@ -0,0 +1,17 @@
+{ ... }:
+{
+ imports = [
+ ./boot.nix
+ ./environment.nix
+ ./fonts.nix
+ ./greetd.nix
+ ./hardware.nix
+ ./i18n.nix
+ ./network.nix
+ ./packages.nix
+ ./services.nix
+ ./system.nix
+ ./user.nix
+ ./xserver.nix
+ ];
+}
diff --git a/modules/core/environment.nix b/modules/core/environment.nix
new file mode 100644
index 0000000..86ca607
--- /dev/null
+++ b/modules/core/environment.nix
@@ -0,0 +1,7 @@
+{ ... }:
+{
+ environment.sessionVariables = {
+ ELECTRON_OZONE_PLATFORM_HINT = "wayland";
+ QT_QPA_PLATFORM = "wayland;xcb";
+ };
+}
\ No newline at end of file
diff --git a/modules/nixos/font.nix b/modules/core/fonts.nix
similarity index 90%
rename from modules/nixos/font.nix
rename to modules/core/fonts.nix
index 325d5bb..d89bec2 100644
--- a/modules/nixos/font.nix
+++ b/modules/core/fonts.nix
@@ -1,17 +1,15 @@
{ pkgs, ... }:
-
{
fonts = {
- packages = (with pkgs;
- [
+ packages = with pkgs; [
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
terminus_font
cantarell-fonts
font-awesome
- ]
- );
+ ];
+
fontDir.enable = true;
fontconfig = {
defaultFonts = {
@@ -27,4 +25,4 @@
};
};
};
-}
\ No newline at end of file
+}
diff --git a/modules/core/greetd.nix b/modules/core/greetd.nix
new file mode 100644
index 0000000..cd189da
--- /dev/null
+++ b/modules/core/greetd.nix
@@ -0,0 +1,12 @@
+{ pkgs, username, ... }: {
+ services.greetd = {
+ enable = true;
+ vt = 3;
+ settings = {
+ default_session = {
+ user = "greeter";
+ command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland";
+ };
+ };
+ };
+}
diff --git a/modules/core/hardware.nix b/modules/core/hardware.nix
new file mode 100644
index 0000000..a33e5da
--- /dev/null
+++ b/modules/core/hardware.nix
@@ -0,0 +1,16 @@
+{ pkgs, ... }:
+{
+ hardware = {
+ sane = {
+ enable = true;
+ extraBackends = [ pkgs.sane-airscan ];
+ disabledDefaultBackends = [ "escl" ];
+ };
+ graphics.enable = true;
+ enableRedistributableFirmware = true;
+ keyboard.qmk.enable = true;
+ bluetooth.enable = true;
+ bluetooth.powerOnBoot = true;
+ };
+ local.hardware-clock.enable = false;
+}
diff --git a/modules/core/i18n.nix b/modules/core/i18n.nix
new file mode 100644
index 0000000..7d01739
--- /dev/null
+++ b/modules/core/i18n.nix
@@ -0,0 +1,32 @@
+{ ... }:
+{
+ i18n.inputMethod = {
+ enable = true;
+ type = "fcitx5";
+ fcitx5 = {
+ addons = with pkgs; [
+ fcitx5-mozc
+ fcitx5-gtk
+ fcitx5-configtool
+ ];
+ settings.inputMethod = {
+ GroupOrder = {
+ "0" = "Default";
+ };
+ "Groups/0" = {
+ Name = "Default";
+ "Default Layout" = "jp";
+ DefaultIM = "mozc";
+ };
+ "Groups/0/Items/0" = {
+ Name = "ja";
+ Layout = "";
+ };
+ "Groups/0/Items/1" = {
+ Name = "mozc";
+ Layout = "";
+ };
+ }
+ };
+ };
+}
\ No newline at end of file
diff --git a/modules/core/network.nix b/modules/core/network.nix
new file mode 100644
index 0000000..9a7e7c5
--- /dev/null
+++ b/modules/core/network.nix
@@ -0,0 +1,7 @@
+{ host, ... }:
+{
+ networking = {
+ hostName = "${host}";
+ networkmanager.enable = true;
+ };
+}
diff --git a/modules/core/packages.nix b/modules/core/packages.nix
new file mode 100644
index 0000000..8bee79f
--- /dev/null
+++ b/modules/core/packages.nix
@@ -0,0 +1,37 @@
+{ pkgs, inputs, ... }:
+{
+ programs = {
+ hyprland = {
+ enable = true;
+ withUWSM = false;
+ };
+ dconf.enable = true;
+ seahorse.enable = true;
+ fuse.userAllowOther = true;
+ adb.enable = true;
+ hyprlock.enable = true;
+ gnupg.agent = {
+ enable = true;
+ enableSSHSupport = true;
+ };
+ zsh = {
+ enable = true;
+ }
+ };
+
+ nixpkgs.config.allowUnfree = true;
+
+ environment.systemPackages = with pkgs; [
+ greetd.tuigreet # The Login Manager (Sometimes Referred To As Display Manager)
+ htop # Simple Terminal Based System Monitor
+ unrar # Tool For Handling .rar Files
+ unzip # Tool For Handling .zip Files
+ uwsm # Universal Wayland Session Manager (optional must be enabled)
+ wget # Tool For Fetching Files With Links
+ curl # Tool For Fetching Files With Links
+ alacritty # A GPU Accelerated Terminal Emulator
+ fuzzel # A Simple And Lightweight Application Launcher
+ msedit # A Simple Text Editor Inspired By Windows Notepad
+ git # Version Control System
+ ];
+}
diff --git a/modules/core/services.nix b/modules/core/services.nix
new file mode 100644
index 0000000..7122609
--- /dev/null
+++ b/modules/core/services.nix
@@ -0,0 +1,27 @@
+{ ... }: {
+ services = {
+ openssh = {
+ enable = false; # Enable SSH
+ settings = {
+ PermitRootLogin = "no"; # Prevent root from SSH login
+ PasswordAuthentication = false;
+ KbdInteractiveAuthentication = true;
+ };
+ ports = [ 22 ];
+ };
+
+ blueman.enable = true; # Bluetooth Support
+ tumbler.enable = true; # Image/video preview
+
+ gnome.gnome-keyring.enable = true;
+
+ pipewire = {
+ enable = true;
+ alsa.enable = true;
+ alsa.support32Bit = true;
+ pulse.enable = true;
+ jack.enable = true;
+ };
+ };
+
+}
\ No newline at end of file
diff --git a/modules/core/system.nix b/modules/core/system.nix
new file mode 100644
index 0000000..c75ba79
--- /dev/null
+++ b/modules/core/system.nix
@@ -0,0 +1,33 @@
+{ ... }:
+{
+ nix = {
+ settings = {
+ experimental-features = [ "nix-command" "flakes" ];
+ substituters = [ "https://vicinae.cachix.org" ];
+ trusted-public-keys = [ "vicinae.cachix.org-1:1kDrfienkGHPYbkpNj1mWTr7Fm1+zcenzgTizIcI3oc=" ];
+ };
+ };
+
+
+ # Localization settings
+ time.timeZone = "Asia/Tokyo";
+ i18n.defaultLocale = "ja_JP.UTF-8";
+ i18n.extraLocaleSettings = {
+ LC_ADDRESS = "ja_JP.UTF-8";
+ LC_IDENTIFICATION = "ja_JP.UTF-8";
+ LC_MEASUREMENT = "ja_JP.UTF-8";
+ LC_MONETARY = "ja_JP.UTF-8";
+ LC_NAME = "ja_JP.UTF-8";
+ LC_NUMERIC = "ja_JP.UTF-8";
+ LC_PAPER = "ja_JP.UTF-8";
+ LC_TELEPHONE = "ja_JP.UTF-8";
+ LC_TIME = "ja_JP.UTF-8";
+ };
+
+ environment.variables = {
+ NIXOS_OZONE_WL = "1";
+ };
+
+ console.keyMap = "jp106";
+ system.stateVersion = "25.05";
+}
\ No newline at end of file
diff --git a/modules/core/user.nix b/modules/core/user.nix
new file mode 100644
index 0000000..595c015
--- /dev/null
+++ b/modules/core/user.nix
@@ -0,0 +1,37 @@
+{ pkgs, inputs, username, host, profile, ...}:
+{
+ imports = [ inputs.home-manager.nixosModules.home-manager ];
+ home-manager = {
+ enable = true;
+ useUserPackages = true;
+ useGlobalPkgs = false;
+ backupFileExtension = "backup";
+ extraSpecialArgs = { inherit inputs username host profile; };
+ users.moons = {
+ imports = [ ./../home ];
+ home = {
+ username = "moons";
+ homeDirectory = "/home/moons";
+ stateVersion = "25.05";
+ };
+ };
+ };
+ users.mutableUsers = true;
+ users.users.moons = {
+ isNormalUser = true;
+ description = "moons-14";
+ extraGroups = [
+ "adbusers"
+ "docker" #access to docker as non-root
+ "libvirtd" #Virt manager/QEMU access
+ "lp"
+ "networkmanager"
+ "scanner"
+ "wheel" #subdo access
+ "vboxusers" #Virtual Box
+ ];
+ shell = pkgs.zsh;
+ ignoreShellProgramCheck = true;
+ };
+ nix.settings.allowed-users = [ "moons" ];
+}
diff --git a/modules/core/xserver.nix b/modules/core/xserver.nix
new file mode 100644
index 0000000..c21bdbc
--- /dev/null
+++ b/modules/core/xserver.nix
@@ -0,0 +1,13 @@
+{ ... }:
+{
+ services = {
+ xserver = {
+ enable = true;
+ xkb = {
+ layout = "jp";
+ variant = "";
+ options = "ctrl:nocaps";
+ };
+ };
+ };
+}
\ No newline at end of file
diff --git a/modules/drivers/default.nix b/modules/drivers/default.nix
new file mode 100644
index 0000000..c4c7809
--- /dev/null
+++ b/modules/drivers/default.nix
@@ -0,0 +1,6 @@
+{ ... }:
+{
+ imports = [
+ ./intel-drivers.nix
+ ];
+}
diff --git a/modules/drivers/intel-drivers.nix b/modules/drivers/intel-drivers.nix
new file mode 100644
index 0000000..bb8cc83
--- /dev/null
+++ b/modules/drivers/intel-drivers.nix
@@ -0,0 +1,21 @@
+{ lib, pkgs, config, ... }:
+with lib; let
+ cfg = config.drivers.intel;
+in
+{
+ options.drivers.intel = {
+ enable = mkEnableOption "Enable Intel Graphics Drivers";
+ };
+
+ config = mkIf cfg.enable {
+ # OpenGL
+ hardware.graphics = {
+ extraPackages = with pkgs; [
+ intel-media-driver
+ vaapiIntel
+ vaapiVdpau
+ libvdpau-va-gl
+ ];
+ };
+ };
+}
diff --git a/modules/hm/cli.nix b/modules/hm/cli.nix
deleted file mode 100644
index 1de3612..0000000
--- a/modules/hm/cli.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ pkgs, ... }:
-{
- home.packages = with pkgs; [
- htop
- git
- ];
-
- programs.zsh.enable = true;
-
- programs.git = {
- enable = true;
- userName = "moons-14";
- userEmail = "moons@moons14.com";
- extraConfig = { init.defaultBranch = "main"; };
- };
-}
diff --git a/modules/hm/gui.nix b/modules/hm/gui.nix
deleted file mode 100644
index 1f5806a..0000000
--- a/modules/hm/gui.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ pkgs, ... }:
-{
- programs.vscode = {
- enable = true;
- extensions = with pkgs.vscode-extensions; [
- esbenp.prettier-vscode
- ];
- userSettings = {
- "editor.formatOnSave" = true;
- };
- };
-
- # input method config
- home.file.".config/fcitx5/config" = {
- recursive = true;
- source = ./fcitx5/config;
- };
-
- i18n.inputMethod.fcitx5.settings.inputMethod = {
- GroupOrder = {
- "0" = "Default";
- };
- "Groups/0" = {
- Name = "Default";
- "Default Layout" = "jp";
- DefaultIM = "mozc";
- };
- "Groups/0/Items/0" = {
- Name = "ja";
- Layout = "";
- };
- "Groups/0/Items/1" = {
- Name = "mozc";
- Layout = "";
- };
- };
-}
diff --git a/modules/hm/vicinae.nix b/modules/hm/vicinae.nix
deleted file mode 100644
index c3670e9..0000000
--- a/modules/hm/vicinae.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ pkgs, ... }:
-{
- services.vicinae = {
- enable = true;
- autoStart = true;
- settings = {
- faviconService = "twenty";
- font.size = 11;
- popToRootOnClose = false;
- rootSearch.searchFiles = false;
- theme.name = "vicinae-dark";
- window = {
- csd = true;
- opacity = 0.95;
- rounding = 10;
- };
- };
- };
-}
\ No newline at end of file
diff --git a/modules/home/default.nix b/modules/home/default.nix
new file mode 100644
index 0000000..9700237
--- /dev/null
+++ b/modules/home/default.nix
@@ -0,0 +1,7 @@
+{ ... }:
+{
+ imports = [
+ ./git.nix
+ ./fcitx5
+ ];
+}
\ No newline at end of file
diff --git a/modules/hm/fcitx5/config b/modules/home/fcitx5/config
similarity index 100%
rename from modules/hm/fcitx5/config
rename to modules/home/fcitx5/config
diff --git a/modules/home/fcitx5/default.nix b/modules/home/fcitx5/default.nix
new file mode 100644
index 0000000..941110d
--- /dev/null
+++ b/modules/home/fcitx5/default.nix
@@ -0,0 +1,7 @@
+{ ... }:
+{
+ home.file."~/.config/fcitx5/config" = {
+ recursive = true;
+ source = ./config;
+ };
+}
\ No newline at end of file
diff --git a/modules/home/git.nix b/modules/home/git.nix
new file mode 100644
index 0000000..ab73fe0
--- /dev/null
+++ b/modules/home/git.nix
@@ -0,0 +1,29 @@
+{ host, ... }:
+{
+ programs.git = {
+ enable = true;
+ userName = "moons-14";
+ userEmail = "moons@moons14.com";
+
+ extraConfig = {
+ push.default = "simple";
+ credential.helper = "cache --timeout=7200";
+ init.defaultBranch = "main";
+ log.decorate = "full"; # Show branch/tag info in git log
+ log.date = "iso"; # ISO 8601 date format
+ # Conflict resolution style for readable diffs
+ merge.conflictStyle = "diff3";
+ };
+ # Optional: FOSS-friendly Git aliases
+ aliases = {
+ br = "branch --sort=-committerdate";
+ co = "checkout";
+ df = "diff";
+ com = "commit -a";
+ gs = "stash";
+ gp = "pull";
+ lg = "log --graph --pretty=format:'%Cred%h%Creset - %C(yellow)%d%Creset %s %C(green)(%cr)%C(bold blue) <%an>%Creset' --abbrev-commit";
+ st = "status";
+ };
+ };
+}
diff --git a/modules/home/vscode.nix b/modules/home/vscode.nix
new file mode 100644
index 0000000..c00acc9
--- /dev/null
+++ b/modules/home/vscode.nix
@@ -0,0 +1,14 @@
+{ pkgs, ... }: {
+ nixpkgs.config.allowUnfree = true;
+
+ programs.vscode = {
+ enable = true;
+ profiles = {
+ default = {
+ extensions = with pkgs.vscode-extensions; [
+ esbenp.prettier-vscode
+ ];
+ };
+ };
+ };
+}
diff --git a/modules/nixos/base.nix b/modules/nixos/base.nix
deleted file mode 100644
index ccb8665..0000000
--- a/modules/nixos/base.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ pkgs, lib, ... }:
-{
- nix.settings.experimental-features = [ "nix-command" "flakes" ];
- time.timeZone = "Asia/Tokyo";
- i18n.defaultLocale = "ja_JP.UTF-8";
- services.xserver.xkb.layout = "jp";
- services.xserver.xkb.variant = "";
- services.xserver.xkb.options = "ctrl:nocaps";
- console.keyMap = "jp106";
-
- # common user
- users.users.moons = {
- isNormalUser = true;
- extraGroups = [ "wheel" "networkmanager" "docker" ];
- shell = pkgs.zsh;
- };
-
- programs.zsh.enable = true;
- services.openssh.enable = true;
-
- # basic network setting
- networking.networkmanager.enable = true;
-
- nix.settings = {
- extra-substituters = [ "https://vicinae.cachix.org" ];
- extra-trusted-public-keys = [ "vicinae.cachix.org-1:1kDrfienkGHPYbkpNj1mWTr7Fm1+zcenzgTizIcI3oc=" ];
- };
-}
diff --git a/modules/nixos/cli.nix b/modules/nixos/cli.nix
deleted file mode 100644
index 97ac024..0000000
--- a/modules/nixos/cli.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-{
- environment.systemPackages = with pkgs; [
- git
- htop
- unzip wget curl
- ];
-}
diff --git a/modules/nixos/desktop.nix b/modules/nixos/desktop.nix
deleted file mode 100644
index 8529923..0000000
--- a/modules/nixos/desktop.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-{ pkgs, lib, ... }:
-{
- nixpkgs.config = {
- allowUnfreePredicate = pkg: lib.elem (lib.getName pkg) [
- "google-chrome"
- "vscode"
- "1password"
- "1password-gui"
- "1password-cli"
- ];
- };
-
- services.xserver.enable = true;
-
- programs.hyperland.enable = true;
-
- services.pipewire = {
- enable = true;
- alsa.enable = true;
- pulse.enable = true;
- jack.enable = true;
- };
-
- services.greetd ={
- enable = true;
- settings = {
- default_session = {
- command = "tuigreet --time --remember --cmd 'uwsm start -- niri'";
- user = "greeter";
- };
- };
- };
-
- environment.systemPackages = with pkgs; [
- greetd.tuigreet
- alacritty
- fuzzel
- swaybg
- xwayland-satellite
- google-chrome
- vscode
- _1password-gui _1password
- kitty
- ];
-
- environment.sessionVariables = {
- ELECTRON_OZONE_PLATFORM_HINT = "wayland";
- QT_QPA_PLATFORM = "wayland;xcb";
- };
-
- i18n.inputMethod = {
- enable = true;
- type = "fcitx5";
- fcitx5 = {
- addons = with pkgs; [
- fcitx5-mozc
- fcitx5-gtk
- fcitx5-configtool
- ];
- };
- };
-
- programs._1password.enable = true;
- programs._1password-gui.enable = true;
-}
diff --git a/modules/nixos/impermanence.nix b/modules/nixos/impermanence.nix
deleted file mode 100644
index 4ca0cb3..0000000
--- a/modules/nixos/impermanence.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ inputs, ... }:
-{
- imports = [ inputs.impermanence.nixosModules.impermanence ];
-
-}
diff --git a/modules/nixos/sops.nix b/modules/nixos/sops.nix
deleted file mode 100644
index 97c0abb..0000000
--- a/modules/nixos/sops.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ inputs, ... }:
-{
- imports = [ inputs.sops-nix.nixosModules.sops ];
-
- # sops.age.sshKeyPaths = [];
- # sops.defaultSopsFile = ../secrest/secrets.yaml;
-}
diff --git a/profiles/cli-minimal.nix b/profiles/cli-minimal.nix
new file mode 100644
index 0000000..61c3db3
--- /dev/null
+++ b/profiles/cli-minimal.nix
@@ -0,0 +1,6 @@
+{ ... }:
+{
+ imports = [
+ ./../modules/core
+ ];
+}
\ No newline at end of file