diff options
author | sefidel <contact@sefidel.net> | 2022-01-18 17:38:31 +0900 |
---|---|---|
committer | sefidel <contact@sefidel.net> | 2022-01-18 17:38:31 +0900 |
commit | 7a372ed81256ce5d6aa608be9bebe173ab4e042e (patch) | |
tree | 29c7ee0a316ae0dc21ce3fe22342ec2c36ee0f4c /home/profiles/base/default.nix | |
parent | 2bdc141bebd35cc38396271c42b23b6f89d032a0 (diff) | |
download | nixrc-7a372ed81256ce5d6aa608be9bebe173ab4e042e.tar.gz nixrc-7a372ed81256ce5d6aa608be9bebe173ab4e042e.zip |
project: rewrite
Diffstat (limited to 'home/profiles/base/default.nix')
-rw-r--r-- | home/profiles/base/default.nix | 184 |
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" ]; + }; +} |