Split common.nix into multiple files

This commit is contained in:
Tyler Mayoff 2024-09-30 20:55:48 -04:00
parent 7fdb1aaaac
commit 0ee2ebadb4
8 changed files with 120 additions and 58 deletions

30
README.md Normal file
View file

@ -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

View file

@ -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];
};
};
};
}

View file

@ -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;

View file

@ -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;}
];
};
}

View file

@ -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
},
}
'';
};
}

View file

@ -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";
};
};
};
}

View file

@ -0,0 +1,3 @@
{pkgs, ...}: {
imports = [../common.nix];
}

View file

@ -1,5 +1,5 @@
{pkgs, ...}: {
imports = [../common.nix];
imports = [../common.nix ../gnome.nix ../home-backup.nix];
home.packages = with pkgs; [
ventoy