about summary refs log tree commit diff
path: root/home/profiles/base/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home/profiles/base/default.nix')
-rw-r--r--home/profiles/base/default.nix184
1 files changed, 184 insertions, 0 deletions
diff --git a/home/profiles/base/default.nix b/home/profiles/base/default.nix
new file mode 100644
index 0000000..7b62442
--- /dev/null
+++ b/home/profiles/base/default.nix
@@ -0,0 +1,184 @@
+{ config, lib, pkgs, self, ... }:
+let
+  cfg = config.profiles.base;
+
+  neotheme = config.neotheme;
+
+  inherit (self.packages.x86_64-linux) neovim iosevka-pure-bin phocus;
+in
+{
+  imports = [
+    ../../modules/programs/nixpkgs
+    ../../modules/programs/zshell
+    ../../modules/misc/neotheme
+  ];
+
+  options.profiles.base.enable = lib.mkEnableOption
+    "The base profile, should be always enabled";
+
+  config = lib.mkIf cfg.enable {
+
+    home.sessionVariables = rec {
+      EDITOR = "nvim";
+      VISUAL = "nvim";
+      GIT_EDITOR = EDITOR;
+    };
+
+    gtk.enable = true;
+    gtk.iconTheme.package = pkgs.papirus-icon-theme;
+    gtk.iconTheme.name = "Papirus-Dark";
+    gtk.theme.package = phocus;
+    gtk.theme.name = "phocus";
+
+    home.file.".icons/default".source = "${pkgs.vanilla-dmz}/share/icons/Vanilla-DMZ-AA";
+
+    neotheme = {
+      name = "Nightlamp Theme - Iceberg Variant";
+      identifier = "nightlamp-iceberg";
+
+      colors = {
+        background = "18191f";
+        foreground = "cbc0ab";
+        alt0 = "404147";
+        alt1 = "54555b";
+        color0 = "222329";
+        color1 = "b17f81";
+        color2 = "8aa387";
+        color3 = "d4ae80";
+        color4 = "84a0c6";
+        color5 = "a093c7";
+        color6 = "7aacaa";
+        color7 = "d0d0c7";
+        bright0 = "36373d";
+        bright1 = "c59395";
+        bright2 = "9eb79b";
+        bright3 = "e8c294";
+        bright4 = "a2bee4";
+        bright5 = "beb1e5";
+        bright6 = "8ec0be";
+        bright7 = "e4e4db";
+      };
+
+      wallpaper = "${self.inputs.wallpapers}/nixos/nix-glow-fg-d4ae80.png";
+    };
+
+    home.keyboard.layout = "us";
+    home.packages = [
+      pkgs.hydra-check
+      pkgs.sops
+      neovim
+
+      # Fonts
+      iosevka-pure-bin
+      pkgs.dina-font
+      pkgs.sarasa-gothic
+      pkgs.scientifica
+      pkgs.jetbrains-mono
+      pkgs.twemoji-color-font
+      pkgs.symbola
+      pkgs.emacs-all-the-icons-fonts
+      (pkgs.nerdfonts.override { fonts = [ "Iosevka" "JetBrainsMono" ]; })
+    ];
+
+    fonts.fontconfig.enable = true;
+
+
+    wayland.windowManager.sway = {
+      enable = true;
+
+      config = {
+        bars = [{ command = "${pkgs.waybar}/bin/waybar"; }];
+        keybindings = { };
+      };
+
+      extraConfig = import ./config/sway.nix { inherit pkgs neotheme; };
+    };
+
+    programs = {
+      bat.enable = true;
+      direnv.enable = true;
+      direnv.nix-direnv.enable = true;
+      exa.enable = true;
+      exa.enableAliases = true;
+      home-manager.enable = true;
+      htop.enable = true;
+
+      foot = {
+        enable = true;
+
+        settings = import ./config/foot.nix { inherit neotheme; };
+      };
+
+      password-store.enable = true;
+
+      waybar = {
+        enable = config.wayland.windowManager.sway.enable;
+
+        settings = [ (import ./config/waybar-settings.nix { inherit neotheme; }) ];
+
+        style = import ./config/waybar-style.nix { inherit neotheme; };
+      };
+
+      zsh = {
+        enable = true;
+
+        enableCompletion = true;
+        enableAutosuggestions = true;
+
+        autocd = true;
+
+        dotDir = ".config/zsh";
+
+        plugins = [
+          {
+            name = "powerlevel10k";
+            src = pkgs.zsh-powerlevel10k;
+            file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
+          }
+
+          {
+            name = "powerlevel10k-config";
+            src = lib.cleanSource ./p10k-config;
+            file = "p10k.zsh";
+          }
+
+          {
+            name = "zsh-syntax-highlighting";
+            src = pkgs.fetchFromGitHub {
+              owner = "zsh-users";
+              repo = "zsh-syntax-highlighting";
+              rev = "0.7.1";
+              sha256 = "03r6hpb5fy4yaakqm3lbf4xcvd408r44jgpv4lnzl9asp4sb9qc0";
+            };
+          }
+        ];
+
+        shellAliases = config.programs.zshell.aliases;
+      };
+
+      zshell.aliases = {
+        e = "nvim";
+      };
+
+      zoxide = {
+        enable = true;
+        enableZshIntegration = true;
+      };
+    };
+
+    services = {
+      dunst = {
+        enable = true;
+        settings = import ./config/dunst.nix { inherit neotheme; };
+      };
+
+      wlsunset = {
+        enable = true;
+        latitude = "36.5";
+        longitude = "127.2";
+      };
+    };
+
+    nixpkgs.allowedUnfree = [ "symbola" ];
+  };
+}