From 0ee2ebadb47114ebd12f9e24e0cca9a868e290f2 Mon Sep 17 00:00:00 2001 From: Tyler Mayoff Date: Mon, 30 Sep 2024 20:55:48 -0400 Subject: [PATCH] Split common.nix into multiple files --- README.md | 30 ++++++++++ dot_config/home-manager/flake.nix | 6 ++ dot_config/home-manager/home/common.nix | 59 +------------------- dot_config/home-manager/home/gnome.nix | 17 ++++++ dot_config/home-manager/home/gui.nix | 37 ++++++++++++ dot_config/home-manager/home/home-backup.nix | 24 ++++++++ dot_config/home-manager/home/mal/mal.nix | 3 + dot_config/home-manager/home/wash/wash.nix | 2 +- 8 files changed, 120 insertions(+), 58 deletions(-) create mode 100644 README.md create mode 100644 dot_config/home-manager/home/gnome.nix create mode 100644 dot_config/home-manager/home/gui.nix create mode 100644 dot_config/home-manager/home/home-backup.nix create mode 100644 dot_config/home-manager/home/mal/mal.nix diff --git a/README.md b/README.md new file mode 100644 index 0000000..e47612b --- /dev/null +++ b/README.md @@ -0,0 +1,30 @@ +# My dotfiles for maintaining my configuration + +## Required programs +- `nix` : package manager +- `home-manager`: config manager +- `yadm`: dotfiles manager + +# Steps + +Starting from a clean system. + +1. Install nix +```bsah +curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install +``` + +2. Clone repo +```bash +nix run nixpkgs#yadm -- clone git@github.com:tmayoff/.dotfiles.git +``` + +3. Bootstrap +```bash +nix run nixpkgs#yadm -- decrypt +nix run nixpkgs#home-manager -- switch +``` + +# Docs + +Based on this repo: https://github.com/Misterio77/nix-starter-configs diff --git a/dot_config/home-manager/flake.nix b/dot_config/home-manager/flake.nix index c8339d1..55ef61f 100644 --- a/dot_config/home-manager/flake.nix +++ b/dot_config/home-manager/flake.nix @@ -50,6 +50,12 @@ extraSpecialArgs = {inherit inputs outputs;}; modules = [./home/wash/wash.nix]; }; + + "tyler@mal" = home-manager.lib.homeManagerConfiguration { + inherit pkgs; + extraSpecialArgs = {inherit inputs outputs;}; + modules = [./home/mal/mal.nix]; + }; }; }; } diff --git a/dot_config/home-manager/home/common.nix b/dot_config/home-manager/home/common.nix index 5853ac8..2239e82 100644 --- a/dot_config/home-manager/home/common.nix +++ b/dot_config/home-manager/home/common.nix @@ -2,12 +2,12 @@ inputs, outputs, # lib, - config, + # config, pkgs, ... }: let nixGLIntel = inputs.nixgl.packages."${pkgs.system}".nixGLIntel; -in rec { +in { nixpkgs.config.allowUnfree = true; home.username = "tyler"; @@ -22,14 +22,8 @@ in rec { ./nushell.nix # ./nom.nix # ./neovim.nix - (builtins.fetchurl { - url = "https://raw.githubusercontent.com/Smona/home-manager/nixgl-compat/modules/misc/nixgl.nix"; - sha256 = "01dkfr9wq3ib5hlyq9zq662mp0jl42fw3f6gd2qgdf8l8ia78j7i"; - }) ]; - nixGL.prefix = "${nixGLIntel}/bin/nixGLIntel"; - nixpkgs = { overlays = [ outputs.overlays.additions @@ -42,7 +36,6 @@ in rec { home.packages = with pkgs; [ # Gnome - gnome.gnome-tweaks adw-gtk3 nixGLIntel @@ -100,38 +93,6 @@ in rec { ltex-ls # Spell checker ]; - programs.gnome-shell = { - enable = true; - extensions = [ - # {package = pkgs.gnomeExtensions.appindicator;} - {package = pkgs.gnomeExtensions.ddterm;} - {package = pkgs.gnomeExtensions.gsconnect;} - {package = pkgs.gnomeExtensions.paperwm;} - {package = pkgs.gnomeExtensions.night-theme-switcher;} - {package = pkgs.gnomeExtensions.blur-my-shell;} - ]; - }; - - programs.alacritty = { - enable = true; - package = config.lib.nixGL.wrap pkgs.alacritty; - }; - - programs.wezterm = { - enable = true; - package = config.lib.nixGL.wrap pkgs.wezterm; - extraConfig = '' - return { - font_size=9.25, - color_scheme="catppuccin-latte", - hide_tab_bar_if_only_one_tab = true, - window_frame = { - font_size = 10 - }, - } - ''; - }; - programs.bat = { enable = true; config = { @@ -174,22 +135,6 @@ in rec { shellWrapperName = "y"; }; - systemd.user.services = { - daily_backup = { - Unit = { - Description = "Run a backup script"; - }; - Install = { - WantedBy = ["default.target"]; - }; - - Service = { - Type = "oneshot"; - ExecStart = "${home.homeDirectory}/.local/bin/,daily_backup"; - }; - }; - }; - services.darkman = { enable = true; package = pkgs.unstable.darkman; diff --git a/dot_config/home-manager/home/gnome.nix b/dot_config/home-manager/home/gnome.nix new file mode 100644 index 0000000..ee8991f --- /dev/null +++ b/dot_config/home-manager/home/gnome.nix @@ -0,0 +1,17 @@ +{pkgs, ...}: { + home.packages = with pkgs; [ + gnome.gnome-tweaks + ]; + + programs.gnome-shell = { + enable = true; + extensions = [ + # {package = pkgs.gnomeExtensions.appindicator;} + {package = pkgs.gnomeExtensions.ddterm;} + {package = pkgs.gnomeExtensions.gsconnect;} + {package = pkgs.gnomeExtensions.paperwm;} + {package = pkgs.gnomeExtensions.night-theme-switcher;} + {package = pkgs.gnomeExtensions.blur-my-shell;} + ]; + }; +} diff --git a/dot_config/home-manager/home/gui.nix b/dot_config/home-manager/home/gui.nix new file mode 100644 index 0000000..1a73471 --- /dev/null +++ b/dot_config/home-manager/home/gui.nix @@ -0,0 +1,37 @@ +{ + inputs, + config, + pkgs, + ... +}: let + nixGLIntel = inputs.nixgl.packages."${pkgs.system}".nixGLIntel; +in { + imports = [ + (builtins.fetchurl { + url = "https://raw.githubusercontent.com/Smona/home-manager/nixgl-compat/modules/misc/nixgl.nix"; + sha256 = "01dkfr9wq3ib5hlyq9zq662mp0jl42fw3f6gd2qgdf8l8ia78j7i"; + }) + ]; + + nixGL.prefix = "${nixGLIntel}/bin/nixGLIntel"; + + programs.alacritty = { + enable = true; + package = config.lib.nixGL.wrap pkgs.alacritty; + }; + + programs.wezterm = { + enable = true; + package = config.lib.nixGL.wrap pkgs.wezterm; + extraConfig = '' + return { + font_size=9.25, + color_scheme="catppuccin-latte", + hide_tab_bar_if_only_one_tab = true, + window_frame = { + font_size = 10 + }, + } + ''; + }; +} diff --git a/dot_config/home-manager/home/home-backup.nix b/dot_config/home-manager/home/home-backup.nix new file mode 100644 index 0000000..c1fe45b --- /dev/null +++ b/dot_config/home-manager/home/home-backup.nix @@ -0,0 +1,24 @@ +{ + # inputs, + # outputs, + # lib, + config, + # pkgs, + ... +}: { + systemd.user.services = { + daily_backup = { + Unit = { + Description = "Run a backup script"; + }; + Install = { + WantedBy = ["default.target"]; + }; + + Service = { + Type = "oneshot"; + ExecStart = "${config.home.homeDirectory}/.local/bin/,daily_backup"; + }; + }; + }; +} diff --git a/dot_config/home-manager/home/mal/mal.nix b/dot_config/home-manager/home/mal/mal.nix new file mode 100644 index 0000000..efc4eac --- /dev/null +++ b/dot_config/home-manager/home/mal/mal.nix @@ -0,0 +1,3 @@ +{pkgs, ...}: { + imports = [../common.nix]; +} diff --git a/dot_config/home-manager/home/wash/wash.nix b/dot_config/home-manager/home/wash/wash.nix index 006e46c..4ef3ff1 100644 --- a/dot_config/home-manager/home/wash/wash.nix +++ b/dot_config/home-manager/home/wash/wash.nix @@ -1,5 +1,5 @@ {pkgs, ...}: { - imports = [../common.nix]; + imports = [../common.nix ../gnome.nix ../home-backup.nix]; home.packages = with pkgs; [ ventoy