{ config, lib, pkgs, self, ... }: let cfg = config.profiles.base; inherit (self.packages.x86_64-linux) neovim iosevka-pure-bin sf-mono-liga-bin phocus 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 = 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; 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" ]; }; }