From f0e000795b39d7cba1dd11c7cb43e108aca5036f Mon Sep 17 00:00:00 2001 From: Julian Mutter Date: Wed, 4 Sep 2024 15:43:05 +0200 Subject: [PATCH] First setup of v3ms config --- homes/x86_64-linux/julian@v3ms/default.nix | 52 +++++++++++++++++++++ homes/x86_64-linux/julian@v3ms/fonts.nix | 15 ++++++ homes/x86_64-linux/julian@v3ms/packages.nix | 37 +++++++++++++++ modules/home/emacs/default.nix | 3 +- 4 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 homes/x86_64-linux/julian@v3ms/default.nix create mode 100644 homes/x86_64-linux/julian@v3ms/fonts.nix create mode 100644 homes/x86_64-linux/julian@v3ms/packages.nix diff --git a/homes/x86_64-linux/julian@v3ms/default.nix b/homes/x86_64-linux/julian@v3ms/default.nix new file mode 100644 index 0000000..02fb57d --- /dev/null +++ b/homes/x86_64-linux/julian@v3ms/default.nix @@ -0,0 +1,52 @@ +{ + # Snowfall Lib provides a customized `lib` instance with access to your flake's library + # as well as the libraries available from your flake's inputs. + lib, + # An instance of `pkgs` with your overlays and packages applied is also available. + pkgs, + # You also have access to your flake's inputs. + inputs, + + # Additional metadata is provided by Snowfall Lib. + namespace, # The namespace used for your flake, defaulting to "internal" if not set. + home, # The home architecture for this host (eg. `x86_64-linux`). + target, # The Snowfall Lib target for this home (eg. `x86_64-home`). + format, # A normalized name for the home target (eg. `home`). + virtual, # A boolean to determine whether this home is a virtual target using nixos-generators. + host, # The host name for this home. + + # All other arguments come from the home home. + config, + ... +}: +{ + home.username = "julian"; + home.homeDirectory = "/home/julian"; + + modules = { + non-nixos.is-nixos = false; + shell = { + fish.enable = true; + direnv.enable = true; + }; + topgrade.enable = true; + neovim.enable = true; + yazi.enable = true; + emacs.enable = true; + + nix-helper.enable = true; + }; + + home.packages = + lib.lists.concatMap (packages-list-file: import packages-list-file { inherit pkgs; }) [ + ./fonts.nix + ./packages.nix + ]; + + # Let Home Manager install and manage itself. + programs.home-manager.enable = true; + + # ======================== DO NOT CHANGE THIS ======================== + home.stateVersion = "23.11"; + # ======================== DO NOT CHANGE THIS ======================== +} diff --git a/homes/x86_64-linux/julian@v3ms/fonts.nix b/homes/x86_64-linux/julian@v3ms/fonts.nix new file mode 100644 index 0000000..72eee37 --- /dev/null +++ b/homes/x86_64-linux/julian@v3ms/fonts.nix @@ -0,0 +1,15 @@ +{ pkgs, ... }: + +with pkgs; +[ + (nerdfonts.override { fonts = [ "FiraCode" ]; }) + font-awesome + dejavu_fonts + noto-fonts + noto-fonts-cjk + noto-fonts-emoji + liberation_ttf + fira-code + fira-code-symbols + source-code-pro +] diff --git a/homes/x86_64-linux/julian@v3ms/packages.nix b/homes/x86_64-linux/julian@v3ms/packages.nix new file mode 100644 index 0000000..db8f824 --- /dev/null +++ b/homes/x86_64-linux/julian@v3ms/packages.nix @@ -0,0 +1,37 @@ +{ pkgs, ... }: + +with pkgs; +[ + # Rust setup + unstable.rustc + unstable.rustfmt + unstable.cargo + unstable.clippy + unstable.rust-analyzer + + # Further tools + cntr # nix debugger + + lazygit + shellcheck + lazygit + git + mc + tree + bat + ripgrep + fd + fzf + topgrade + htop + killall + findutils + jq + ffmpeg + julia-bin + + poppler_utils # Pdf utils including pdfimages + sage + + pkg-config # Often needed to build something +] diff --git a/modules/home/emacs/default.nix b/modules/home/emacs/default.nix index 13ef79b..348e1a2 100644 --- a/modules/home/emacs/default.nix +++ b/modules/home/emacs/default.nix @@ -35,7 +35,6 @@ in home.sessionPath = [ "/home/julian/.config/emacs/bin" ]; home.packages = with pkgs; [ - emacs binutils # native-comp needs 'as', provided by this ## Doom dependencies @@ -72,7 +71,7 @@ in # neocmakelsp # cmake emacs-all-the-icons-fonts - ]; + ] ++ lib.optional config.modules.non-nixos.is-nixos emacs; home.activation.installDoomEmacs = lib.home-manager.hm.dag.entryAfter [ "writeBoundary" ] '' if [ ! -d "/home/julian/.config/emacs" ]; then