about summary refs log tree commit diff
path: root/home/modules/profiles/base/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'home/modules/profiles/base/default.nix')
-rw-r--r--home/modules/profiles/base/default.nix123
1 files changed, 123 insertions, 0 deletions
diff --git a/home/modules/profiles/base/default.nix b/home/modules/profiles/base/default.nix
new file mode 100644
index 0000000..1c584f0
--- /dev/null
+++ b/home/modules/profiles/base/default.nix
@@ -0,0 +1,123 @@
+{ config, lib, pkgs, self, ... }:
+let
+  cfg = config.profiles.base;
+
+  inherit (self.packages.x86_64-linux) neovim iosevka-pure-bin sf-mono-liga-bin wallpapers;
+in
+  {
+    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 = pkgs.phocus;
+      #gtk.theme.name = "phocus";
+
+      home.keyboard.layout = "us";
+      home.packages = [
+        pkgs.hydra-check
+        neovim
+
+        # Fonts
+        iosevka-pure-bin
+        sf-mono-liga-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" ]; })
+      ];
+
+
+      wayland.windowManager.sway = {
+        enable = true;
+
+        config = {
+          bars = [{ command = "${pkgs.waybar}/bin/waybar"; }];
+          keybindings = { };
+        };
+
+        extraConfig = import ./config/sway.nix { inherit pkgs wallpapers; };
+      };
+
+      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;
+          server.enable = true;
+          settings = import ./config/foot.nix;
+        };
+
+        waybar = {
+          enable = config.wayland.windowManager.sway.enable;
+
+          settings = [ (import ./config/waybar-settings.nix) ];
+
+          style = import ./config/waybar-style.nix;
+        };
+
+        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;
+        };
+      };
+
+      services.wlsunset = {
+        enable = true;
+        latitude = "36.5";
+        longitude = "127.2";
+      };
+
+      nixpkgs.allowedUnfree = [ "symbola" ];
+    };
+  }