diff --git a/flake.nix b/flake.nix index fcb0283..e1e33f8 100644 --- a/flake.nix +++ b/flake.nix @@ -25,5 +25,10 @@ inputs.nixpkgs.follows = "nixpkgs"; }; }; - outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (inputs.import-tree ./modules); + outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { + imports = [ + inputs.home-manager.flakeModules.home-manager + (inputs.import-tree ./modules) + ]; + }; } diff --git a/modules/default.nix b/modules/default.nix index fee437d..1a07e2a 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -5,14 +5,20 @@ }: let mods = with self.nixosModules; [ - user - packages agenix + base_services boot core easyroam myStylix + packages + pipewire + programs stylixTargets + stylix_fonts + tlp + user + zsh /etc/nixos/hardware-configuration.nix ]; in diff --git a/modules/home/#home.nix# b/modules/home/#home.nix# new file mode 100644 index 0000000..90ed547 --- /dev/null +++ b/modules/home/#home.nix# @@ -0,0 +1,3 @@ +{inputs, ...} : { + +} \ No newline at end of file diff --git a/modules/home/programs/emacs.nix b/modules/home/programs/emacs.nix index 476844c..f8d6d78 100644 --- a/modules/home/programs/emacs.nix +++ b/modules/home/programs/emacs.nix @@ -3,7 +3,7 @@ flake.homeModules.emacs = { pkgs, ... }: { programs.emacs = { enable = true; - packages = pkgs.emacs-pgtk; + package = pkgs.emacs-pgtk; extraConfig = '' ;; -*- lexical-binding: t; -*- (setq make-backup-files nil) diff --git a/modules/home/programs/fuzzel.nix b/modules/home/programs/fuzzel.nix new file mode 100644 index 0000000..4b6eb2e --- /dev/null +++ b/modules/home/programs/fuzzel.nix @@ -0,0 +1,12 @@ +{...}: { + flake.homeModules.fuzzel = { + programs.fuzzel = { + enable = true; + settings = { + main = { + dpi_aware = "no"; + }; + }; + }; + }; +} diff --git a/modules/home/programs/ghostty.nix b/modules/home/programs/ghostty.nix index abe638a..33c4cb3 100644 --- a/modules/home/programs/ghostty.nix +++ b/modules/home/programs/ghostty.nix @@ -3,7 +3,9 @@ programs.ghostty = { enable = true; enableZshIntegration = true; + systemd.enable = true; settings = { + quit-after-last-window-closed = false; window-padding-x = 15; window-padding-y = 15; confirm-close-surface = false; diff --git a/modules/home/programs/git.nix b/modules/home/programs/git.nix new file mode 100644 index 0000000..cc73877 --- /dev/null +++ b/modules/home/programs/git.nix @@ -0,0 +1,11 @@ +{ ... }: { + flake.homeModules.git = { + programs.git = { + enable = true; + settings = { + user.name = "lucy"; + user.email = "lucykaufmann@protonmail.com"; + }; + }; + }; +} diff --git a/modules/home/stylix/targets.nix b/modules/home/stylix/targets.nix index 89761d1..3708b27 100644 --- a/modules/home/stylix/targets.nix +++ b/modules/home/stylix/targets.nix @@ -1,11 +1,11 @@ {inputs, ...}: { flake.homeModules.homeStylix = { - imports = [ inputs.stylix.homeModules.stylix ]; stylix.targets = { ghostty.enable = true; fuzzel.enable = true; gtk.enable = true; - niri.enable = true; + emacs.enable = true; + nixcord.enable = true; }; }; } diff --git a/modules/system/core/core.nix b/modules/system/core/core.nix index 9f8ff35..430c611 100644 --- a/modules/system/core/core.nix +++ b/modules/system/core/core.nix @@ -1,5 +1,15 @@ { ... }: { flake.nixosModules.core = { + hardware.bluetooth = { + enable = true; + powerOnBoot = false; + input.General.ClassicBondedOnly = false; + settings = { + General = { + Experimental = true; + }; + }; + }; time.timeZone = "Europe/Berlin"; i18n.defaultLocale = "en_US.UTF-8"; i18n.extraLocaleSettings = { @@ -16,7 +26,7 @@ security = { rtkit.enable = true; polkit.enable = true; # polkit -# polkit.enablePkexecWrapper = true; + polkit.enablePkexecWrapper = true; }; networking.networkmanager.enable = true; nix.settings.experimental-features = [ diff --git a/modules/system/core/packages.nix b/modules/system/core/packages.nix index 7fc0c36..d40f18c 100644 --- a/modules/system/core/packages.nix +++ b/modules/system/core/packages.nix @@ -6,22 +6,16 @@ stow ufetch rbw - emacs-pgtk - tinty pinentry-gnome3 - git nixd nixfmt xournalpp rnote btop chromium - fuzzel quickshell wl-clipboard adw-gtk3 - papirus-icon-theme - apple-cursor polkit_gnome xwayland-satellite nemo @@ -38,8 +32,6 @@ jq nmgui kdePackages.qtdeclarative - ghostty - rnote gsettings-desktop-schemas glib ]; diff --git a/modules/system/core/user.nix b/modules/system/core/user.nix index fcd59f2..2de9142 100644 --- a/modules/system/core/user.nix +++ b/modules/system/core/user.nix @@ -1,9 +1,10 @@ { inputs, self, ... }: { - flake.nixosModules.user = { + flake.nixosModules.user = { pkgs, ... }: { imports = [ inputs.home-manager.nixosModules.home-manager ]; users.users."lucy" = { + shell = pkgs.zsh; isNormalUser = true; description = "lucy"; extraGroups = [ @@ -14,12 +15,20 @@ home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = { inherit inputs; }; + home-manager.users.lucy = { + home.username = "lucy"; + home.homeDirectory = "/home/lucy"; + home.stateVersion = "25.11"; + + }; home-manager.sharedModules = with self.homeModules; [ nixcord ghostty niri emacs + git homeStylix + fuzzel ]; }; } diff --git a/modules/system/services/base.nix b/modules/system/services/base.nix new file mode 100644 index 0000000..27dabb7 --- /dev/null +++ b/modules/system/services/base.nix @@ -0,0 +1,6 @@ +{ ... }: { + flake.nixosModules.base_services = { + services.upower.enable = true; + services.blueman.enable = true; + }; +} diff --git a/modules/system/stylix/default.nix b/modules/system/stylix/default.nix index cd8cf28..b4ccdb0 100644 --- a/modules/system/stylix/default.nix +++ b/modules/system/stylix/default.nix @@ -6,7 +6,17 @@ stylix = { enable = true; base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml"; - + cursor = { + name = "macOS"; + package = pkgs.apple-cursor; + size = 24; + }; + icons = { + enable = true; + dark = "Papirus-Dark"; + light = "Papirus-Light"; + package = pkgs.papirus-icon-theme; + }; }; }; } diff --git a/modules/system/stylix/fonts.nix b/modules/system/stylix/fonts.nix new file mode 100644 index 0000000..c8025a6 --- /dev/null +++ b/modules/system/stylix/fonts.nix @@ -0,0 +1,25 @@ +{ ... }: { + flake.nixosModules.stylix_fonts = { pkgs, config, ... }: { + stylix.fonts = { + serif = { + package = config.stylix.fonts.monospace.package; + name = config.stylix.fonts.monospace.name; + }; + + sansSerif = { + package = config.stylix.fonts.monospace.package; + name = config.stylix.fonts.monospace.name; + }; + + monospace = { + package = pkgs.iosevka; + name = "Iosevka"; + }; + + emoji = { + package = pkgs.noto-fonts-color-emoji; + name = "Noto Color Emoji"; + }; + }; + }; +}