From e68f05c78c57d2d719929b42e9659511d14af455 Mon Sep 17 00:00:00 2001 From: Devin Finlinson Date: Wed, 30 Aug 2023 22:56:23 +0200 Subject: Creating initial commit. --- home-manager/home.nix | 119 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 home-manager/home.nix (limited to 'home-manager/home.nix') diff --git a/home-manager/home.nix b/home-manager/home.nix new file mode 100644 index 0000000..371e642 --- /dev/null +++ b/home-manager/home.nix @@ -0,0 +1,119 @@ +{ config, pkgs, ... }: +let + home-manager = builtins.fetchTarball "https://github.com/nix-community/home-manager/archive/release-23.05.tar.gz"; + unstable = import {}; +in +{ + imports = [ + (import "${home-manager}/nixos") + ]; + + home-manager.users.defin= { + home = { + # Home Manager needs a bit of information about you and the paths it should + # manage. + username = "defin"; + homeDirectory = "/home/defin"; + + # This value determines the Home Manager release that your configuration is + # compatible with. This helps avoid breakage when a new Home Manager release + # introduces backwards incompatible changes. + # + # You should not change this value, even if you update Home Manager. If you do + # want to update the value, then make sure to first check the Home Manager + # release notes. + stateVersion = "23.05"; # Please read the comment before changing. + + # The home.packages option allows you to install Nix packages into your + # environment. + packages = with pkgs; [ + # # It is sometimes useful to fine-tune packages, for example, by applying + # # overrides. You can do that directly here, just don't forget the + # # parentheses. Maybe you want to install Nerd Fonts with a limited number of + # # fonts? + # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) + marble-marcher-ce + firefox + qutebrowser + neofetch + yakuake + pass + btop + mpv + # unstable.yt-dlp + yt-dlp + telegram-desktop + obsidian + zettlr + # texlive-combined-full + # nushell + starship + kitty + exa + zoxide + broot + procs + gnupg + spotify-tui + spotifyd + # mpris + #helix plugins + # vadimcn.vscode-lldb + # yaml-language-server + # typescript-language-server + # rust-analyzer + # solargraph + # clangd + # vscode-json-language-server + # lua-language-server + # marksman + ]; + + # Home Manager is pretty good at managing dotfiles. The primary way to manage + # plain files is through 'home.file'. + file = { + # # Building this configuration will create a copy of 'dotfiles/screenrc' in + # # the Nix store. Activating the configuration will then make '~/.screenrc' a + # # symlink to the Nix store copy. + # ".screenrc".source = dotfiles/screenrc; + + # # You can also set the file content immediately. + # ".gradle/gradle.properties".text = '' + # org.gradle.console=verbose + # org.gradle.daemon.idletimeout=3600000 + # ''; + }; + + + # You can also manage environment variables but you will have to manually + # source + # + # ~/.nix-profile/etc/profile.d/hm-session-vars.sh + # + # or + # + # /etc/profiles/per-user/defin/etc/profile.d/hm-session-vars.sh + # + # if you don't want to manage your shell through Home Manager. + sessionVariables = { + # EDITOR = "emacs"; + }; + }; + programs = { + + ssh.matchBlocks = { + serverAliveCountMax = 6; + serverAliveInterval = 30; + }; + + starship = { + enable = true; + settings = { + command_timeout = 1000; + }; + }; + # Let Home Manager install and manage itself. + # home-manager.enable = true; + }; + }; +} -- cgit v1.2.3