This commit is contained in:
alsaiduq-lab 2025-03-16 03:05:52 -06:00
parent de4de77a87
commit b4cf61bc23
25 changed files with 287 additions and 100 deletions

View file

@ -1,11 +1,52 @@
{ config, pkgs, lib, ... }:
{
imports = [
./modules/cava.nix
./modules/dunst.nix
./modules/fish.nix
./modules/ghostty.nix
./modules/i3.nix
./modules/lazygit.nix
./modules/nvim.nix
./modules/picom.nix
./modules/polybar.nix
./modules/rofi.nix
./modules/starship.nix
./modules/systemd.nix
./modules/zellij.nix
];
home.username = "cobray";
home.homeDirectory = "/home/cobray";
home.enableNixpkgsReleaseCheck = false;
programs.home-manager.enable = true;
home.packages = with pkgs; [
];
home.stateVersion = "24.11";
programs.home-manager.enable = true;
home.enableNixpkgsReleaseCheck = false;
home.packages = with pkgs; [
coreutils
gnused
gnugrep
findutils
htop
btop
nvtop
arandr
nitrogen
];
xdg.configFile = {
"user-dirs.dirs".source = lib.mkIf (builtins.pathExists "${config.home.homeDirectory}/.config/user-dirs.dirs")
(config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/user-dirs.dirs");
"user-dirs.locale".source = lib.mkIf (builtins.pathExists "${config.home.homeDirectory}/.config/user-dirs.locale")
(config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/user-dirs.locale");
"mimeapps.list".source = lib.mkIf (builtins.pathExists "${config.home.homeDirectory}/.config/mimeapps.list")
(config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/mimeapps.list");
"systemd".source = lib.mkIf (builtins.pathExists "${config.home.homeDirectory}/.config/systemd")
(config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/systemd");
"systemd".recursive = true;
"environment.d".source = lib.mkIf (builtins.pathExists "${config.home.homeDirectory}/.config/environment.d")
(config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/environment.d");
"environment.d".recursive = true;
};
}

View file

@ -0,0 +1,14 @@
{ config, pkgs, lib, ... }:
{
home.packages = with pkgs; [
cava
];
xdg.configFile = {
"cava" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/cava";
recursive = true;
};
};
}

View file

@ -0,0 +1,13 @@
{ config, pkgs, lib, ... }:
{
home.packages = with pkgs; [
dunst
];
xdg.configFile = {
"dunst" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/dunst";
recursive = true;
};
};
}

View file

@ -0,0 +1,33 @@
{ config, pkgs, lib, ... }:
{
xdg.configFile = {
"fish/config.fish".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/fish/config.fish";
"fish/fish_plugins".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/fish/fish_plugins";
"fish/fish_variables".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/fish/fish_variables";
"fish/themes" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/fish/themes";
recursive = true;
};
"fish/functions" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/fish/functions";
recursive = true;
};
"fish/completions" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/fish/completions";
recursive = true;
};
"fish/conf.d" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/fish/conf.d";
recursive = true;
};
};
home.packages = with pkgs; [
starship
fzf
bat
eza
fd
ripgrep
];
}

View file

@ -0,0 +1,10 @@
{ config, pkgs, lib, ... }:
{
xdg.configFile = {
"ghostty" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/ghostty";
recursive = true;
};
};
}

View file

@ -0,0 +1,18 @@
{ config, pkgs, lib, ... }:
{
home.packages = with pkgs; [
dmenu
i3status
i3lock
i3blocks
feh
];
xdg.configFile = {
"i3" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/i3";
recursive = true;
};
};
}

View file

@ -0,0 +1,14 @@
{ config, pkgs, lib, ... }:
{
home.packages = with pkgs; [
lazygit
];
xdg.configFile = {
"lazygit" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/lazygit";
recursive = true;
};
};
}

View file

@ -0,0 +1,19 @@
{ config, pkgs, lib, ... }:
{
home.packages = with pkgs; [
neovim
ripgrep
fd
nodejs
gcc
];
xdg.configFile."nvim" = {
source = builtins.fetchGit {
url = "https://github.com/alsaiduq-lab/dotfiles.git";
ref = "dev";
}
recursive = true;
};
}

View file

@ -0,0 +1,14 @@
{ config, pkgs, lib, ... }:
{
home.packages = with pkgs; [
picom
];
xdg.configFile = {
"picom" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/picom";
recursive = true;
};
};
}

View file

@ -0,0 +1,14 @@
{ config, pkgs, lib, ... }:
{
home.packages = with pkgs; [
polybar
];
xdg.configFile = {
"polybar" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/polybar";
recursive = true;
};
};
}

View file

@ -0,0 +1,14 @@
{ config, pkgs, lib, ... }:
{
home.packages = with pkgs; [
rofi
];
xdg.configFile = {
"rofi" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/rofi";
recursive = true;
};
};
}

View file

@ -0,0 +1,8 @@
{ config, pkgs, lib, ... }:
{
home.packages = with pkgs; [
starship
];
xdg.configFile."starship.toml".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/starship.toml";
}

View file

@ -0,0 +1,36 @@
{ config, lib, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
autossh
];
systemd.services.autossh-redbot = {
description = "Persistent SSH Tunnel to server";
after = [ "network-online.target" ];
wants = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
User = "cobray";
Group = "cobray";
Restart = "always";
RestartSec = 30;
EnvironmentFile = "/home/cobray/.secrets/autossh-redbot.conf";
Environment = [
"AUTOSSH_GATETIME=0"
"AUTOSSH_POLL=60"
"AUTOSSH_FIRST_POLL=30"
"AUTOSSH_PORT=0"
];
ExecStart = ''
${pkgs.autossh}/bin/autossh -M 0 -N \
-o "ServerAliveInterval 60" \
-o "ServerAliveCountMax 3" \
-o "ExitOnForwardFailure=yes" \
-o "ConnectTimeout=10" \
-R "0.0.0.0:$REMOTE_PORT:localhost:$LOCAL_PORT" \
root@$REMOTE_HOST
'';
};
};
}

View file

@ -0,0 +1,14 @@
{ config, pkgs, lib, ... }:
{
home.packages = with pkgs; [
zellij
];
xdg.configFile = {
"zellij" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/.config/zellij";
recursive = true;
};
};
}