{ config, pkgs, ... }: let secrets = import ./secrets.nix; in { imports = (import ./ui) ++ (import ./shell) ++ (import ./progs); # Home Manager needs a bit of information about you and the # paths it should manage. home.username = secrets.userName; home.homeDirectory = secrets.userDir; home.keyboard = { model = "pc105"; layout = "us,ru"; variant = "dvorak,"; options = [ "grp:win_space_toggle" ]; }; home.packages = with pkgs; [ kotatogram-desktop nheko docker-compose libreoffice image-roll asciinema # record the terminal neofetch # command-line system information # tools xh # friendly and fast tool for sending HTTP requests fd # a simple, fast and user-friendly alternative to find bat # a cat clone with syntax highlighting and git integration ripgrep # a fuzzy finder vnetod # a tool to change env sections # nix nixpkgs-fmt nil # lsp server # browser # a fork of firefox, focused on privacy, security and freedom (librewolf.override { extraNativeMessagingHosts = [ passff-host ]; }) # for work google-cloud-sdk kubectl postgresql_12 # 🤷 I need only psql ]; # user interface ui = { # windows manager xmonad.enable = true; # bar polybar.enable = true; # lock betterlockscreen.enable = true; }; # shell shell = { zsh.enable = true; prompt.starship.enable = true; }; # programs progs = { alacritty.enable = true; git = { enable = true; gpgKey = secrets.gpgSigningKey; inherit (secrets) userName userEmail; git-crypt.enable = true; }; # password manager pass.enable = true; # email manager aerc.enable = true; # finance manager hledger.enable = true; # file manager vifm.enable = true; # editor nvim = { enable = true; default = true; }; # tools exa.enable = true; zoxide.enable = true; }; programs.direnv = { enable = true; nix-direnv.enable = true; }; accounts = { email = { maildirBasePath = "${config.xdg.dataHome}/mail"; accounts = secrets.emailAccounts; }; }; home.file = { "scripts" = { source = ./scripts; recursive = true; }; "pictures/wallpapers" = { source = ./wallpapers; recursive = true; }; }; xdg.enable = true; services.wired = { enable = true; config = ./wired.ron; }; }