2024-10-14 17:28:31 -04:00
# Last stable generation 359 10/13/24
2024-11-01 12:04:24 -04:00
# home-manager works by soft-linking the software packages configured by the user to /etc/profiles/per-user/your-username and modifying environment variables like PATH to point to this path, thus installing user software packages.
2024-12-03 13:21:22 -05:00
{
inputs ,
outputs ,
lib ,
config ,
pkgs ,
systemSettings ,
userSettings ,
zen-browser ,
hyprland ,
nix-colors ,
. . .
} :
2024-10-14 17:28:31 -04:00
let
2024-11-01 12:04:24 -04:00
system = " x 8 6 _ 6 4 - l i n u x " ;
2024-10-14 17:28:31 -04:00
myAliases = {
# Sysadmin
ll = " l s - a l F " ;
la = " l s - A " ;
l = " l s - C F " ;
" . . " = " c d . . " ;
version = " l s b _ r e l e a s e - c s " ;
cpu-speed = " c a t / p r o c / c p u i n f o | g r e p ' c p u M H z ' " ;
update = " s u d o a p t u p d a t e & & s u d o a p t u p g r a d e - y & & s u d o a p t a u t o r e m o v e - y " ;
2024-11-29 18:31:17 -05:00
nixFlakeUpdate = " n i x f l a k e u p d a t e " ;
2024-10-14 17:28:31 -04:00
listServices = " s y s t e m c t l l i s t - u n i t s - - a l l - - t y p e = s e r v i c e - - n o - p a g e r " ;
listUserServices = " s y s t e m c t l l i s t - u n i t s - - a l l - - t y p e = s e r v i c e - - n o - p a g e r - - u s e r " ;
2024-11-01 12:04:24 -04:00
listGenerations = " s u d o n i x - e n v - p / n i x / v a r / n i x / p r o f i l e s / s y s t e m - - l i s t - g e n e r a t i o n s " ;
switchGenerations = " n i x - e n v - - s w i t c h - g e n e r a t i o n $ 1 " ;
nixClean = " n i x - e n v - e ' * ' " ;
takeOutTrash = " n i x - c o l l e c t - g a r b a g e - - d e l e t e - o l d e r - t h a n $ 1 " ;
2024-10-14 17:28:31 -04:00
ls = " e z a - - i c o n s - l - T - L = 1 " ;
cat = " b a t " ;
htop = " b t m " ;
fd = " f d - L u " ;
w3m = " w 3 m - n o - c o o k i e - v " ;
neofetch = " d i s f e t c h " ;
fetch = " d i s f e t c h " ;
# NixOS
pkgsList = " n i x - e n v - q a P \\ ' * \\ ' - - d e s c r i p t i o n " ;
nixUpdate = " n i x - e n v - u \\ ' * \\ ' " ;
updateChannel = " n i x - c h a n n e l - - u p d a t e n i x o s " ;
nixOptimize = " n i x - s t o r e - - o p t i m i s e " ;
2024-10-14 19:37:56 -04:00
mkhome = " c d ~ / s y s t e m & & h o m e - m a n a g e r s w i t c h - - f l a k e . " ;
2024-11-29 18:31:17 -05:00
buildsys = " c d ~ / s y s t e m & & s u d o n i x o s - r e b u i l d s w i t c h - - f l a k e \\ ' . \\ # \\ ' " ;
2024-11-01 12:04:24 -04:00
get256 = " n i x - p r e f e t c h - u r l - - t y p e s h a 2 5 6 $ 1 " ;
remapKeys = " i n p u t - r e m a p p e r - c o n t r o l - - c o m m a n d a u t o l o a d " ;
2024-10-14 17:28:31 -04:00
# Zoxide
# cd="z";
# Kitty
icat = " k i t t e n i c a t " ;
s = " k i t t e n s s h " ;
2025-05-03 12:34:07 -04:00
kitty-logs = " k i t t y - - c l a s s = ' k i t t y - l o g s ' j o u r n a l c t l - f " ;
2024-10-14 17:28:31 -04:00
2025-03-13 17:41:05 -04:00
# init_0="sudo systemctl isolate emergency.target";
# init_1="sudo systemctl isolate rescue.target";
# init_3="sudo systemctl isolate multi-user.target";
# init_5="sudo systemctl isolate graphical.target";
2024-10-14 17:28:31 -04:00
2025-03-13 17:41:05 -04:00
stop-containers = " l i s t S e r v i c e s | g r e p c o n t a i n e r | g r e p a c t i v e | a w k ' { p r i n t $ 1 } ' | x a r g s - n 1 s u d o s y s t e m c t l s t o p " ;
2024-10-14 17:28:31 -04:00
# history="history | fzf";
} ;
# URL of your dotfiles repository
dotfilesRepo = " h t t p : / / n a s . l o c a l / g i t / w a y n e / d o t f i l e s . g i t " ;
# Path where the dotfiles repository will be cloned
dotfilesPath = " ${ config . home . homeDirectory } / . d o t f i l e s " ;
# Path to the directory within the dotfiles repository that contains home directory dotfiles
homeStowPath = " ${ dotfilesPath } / h o m e " ;
# pip hack
# system = "x86_64-linux";
# pkgs = pkgs.legacyPackages.${system};
# buildPythonPackage = pkgs.python311Packages.buildPythonPackage;
# fetchPypi = pkgs.python311Packages.fetchPypi;
# Mopidy-WebSettings = buildPythonPackage rec {
# pname = "Mopidy-WebSettings";
# version = "0.2.3";
# format = "mopidyPlugin";
# src = fetchPypi {
# inherit pname version;
# sha256 = "6aa2284cd7af4a34cb10e60e721e92b98f06b2f064be2e1e2191f73374baa1ff";
# };
# doCheck = false;
# propogateBuildInputs = with pkgs.python311Packages; [];
# };
2024-11-01 12:04:24 -04:00
unstablePkgs = import (
fetchTarball {
url = " h t t p s : / / g i t h u b . c o m / N i x O S / n i x p k g s / a r c h i v e / n i x o s - u n s t a b l e . t a r . g z " ;
2025-04-11 18:43:57 -04:00
sha256 = " 1 4 6 h n 6 w 5 7 h r 3 4 1 k 5 y 0 0 3 6 6 8 g z h 5 l 7 s h b i k i d n 3 r 0 i x 3 3 h b 4 9 s c 5 p " ;
2024-11-01 12:04:24 -04:00
} )
{
# config = config.nixpkgs.config;
inherit system ;
} ;
2024-10-14 17:28:31 -04:00
in
{
2024-10-14 18:35:04 -04:00
imports = [
2024-11-01 12:04:24 -04:00
( import ./modules/hypr.nix { inherit pkgs config lib ; } )
( import ./modules/theme.nix { inherit pkgs unstablePkgs ; } )
./modules/wayland.nix
./modules/xdg.nix
2025-04-11 18:43:57 -04:00
# (import ../pkgs/app/audio/mopidy.nix { inherit pkgs; })
# (import ../pkgs/app/editor/nvim.nix { pkgs = pkgs; })
2024-11-01 12:04:24 -04:00
( import ../pkgs/git/git.nix { inherit userSettings pkgs ; } )
( import ../pkgs/lang/cc/cc.nix { inherit pkgs ; } )
2024-10-14 18:35:04 -04:00
# (import ../pkgs/lang/python/python.nix { pkgs = pkgs; })
# (import ../pkgs/lang/python/python-packages.nix { pkgs = pkgs; })
# (import ../pkgs/app/terminal/alacritty.nix { pkgs = pkgs; })
2025-04-11 18:43:57 -04:00
( import ../pkgs/app/terminal/ghostty.nix { inherit pkgs ; } )
( import ../pkgs/app/terminal/kitty.nix { inherit pkgs lib nix-colors config ; } )
( import ../pkgs/app/terminal/parrot-starship.nix { inherit pkgs ; } )
# (import ../pkgs/app/terminal/starship.nix { pkgs = pkgs; })
( import ../pkgs/app/terminal/tmux.nix { inherit pkgs lib config ; } )
( import ../pkgs/app/terminal/yazi.nix { inherit pkgs ; } )
( import ../pkgs/shell/bash.nix { inherit pkgs config myAliases ; } )
( import ../pkgs/shell/cli-collection.nix { inherit pkgs ; } )
( import ../pkgs/shell/sh.nix { inherit myAliases pkgs ; } )
( import ../pkgs/shell/stow.nix { inherit pkgs lib config ; } )
( import ../pkgs/shell/zsh.nix { inherit myAliases pkgs ; } )
2024-10-14 18:35:04 -04:00
] ;
2024-10-14 17:28:31 -04:00
nixpkgs = {
config = {
2024-10-14 18:35:04 -04:00
allowUnfree = true ;
2024-10-14 17:28:31 -04:00
} ;
} ;
systemd . user . sessionVariables = config . home . sessionVariables ;
home = {
username = " ${ userSettings . username } " ;
homeDirectory = " / h o m e / ${ userSettings . username } " ;
sessionVariables = {
2024-11-01 12:04:24 -04:00
EDITOR = userSettings . editor ;
TERM = userSettings . term ;
2024-11-29 18:31:17 -05:00
# PYTHONPATH = "${pkgs.mopidy}/lib/python3.11/site-packages:${pkgs.mopidy-tidal}/lib/python3.11/site-packages:${pkgs.mopidy-musicbox-webclient}/lib/python3.11/site-packages";
2024-10-14 17:28:31 -04:00
} ;
} ;
fonts . fontconfig . enable = true ;
2024-12-03 13:21:22 -05:00
# colorScheme = nix-colors.colorSchemes.nord;
2024-10-14 17:28:31 -04:00
home . packages = with pkgs ; [
zsh bash git stow tmux tmuxPlugins . tmux-fzf
vim neovim lunarvim # vimPlugins.vim-kitty-navigator
zoxide # vimPlugins.telescope-zoxide vimPlugins.zoxide-vim
bottom htop jq
starship
2024-11-01 12:04:24 -04:00
yazi
2024-10-14 17:28:31 -04:00
appimage-run
nerdfonts ubuntu_font_family
2024-11-29 18:31:17 -05:00
doublecmd filezilla
2024-10-14 17:28:31 -04:00
libreoffice
2025-03-13 17:41:05 -04:00
bottles winePackages . wayland
2025-04-11 18:43:57 -04:00
2025-05-03 12:34:07 -04:00
vlc
2024-11-01 12:04:24 -04:00
] ++ ( import ./pkgs { inherit unstablePkgs pkgs system zen-browser ; } ) ;
2024-10-14 17:28:31 -04:00
programs = {
home-manager . enable = true ;
2025-05-03 12:34:07 -04:00
direnv = {
enable = true ;
package = pkgs . direnv ;
enableBashIntegration = true ;
enableZshIntegration = true ;
nix-direnv = {
enable = true ;
package = pkgs . nix-direnv ;
} ;
} ;
mpv = {
enable = true ;
package = pkgs . mpv-unwrapped . wrapper { mpv = pkgs . mpv-unwrapped . override { vapoursynthSupport = true ; } ; youtubeSupport = true ; } ;
bindings = {
WHEEL_UP = " s e e k 1 0 " ;
WHEEL_DOWN = " s e e k - 1 0 " ;
" A l t + 0 " = " s e t w i n d o w - s c a l e 0 . 5 " ;
} ;
# config = {
# };
# includes = [
# "${config.home.homeDirectory}/.config/mpv/config.inc"
# ];
} ;
2024-10-14 17:28:31 -04:00
ripgrep . enable = true ;
2024-11-29 18:31:17 -05:00
vscode = {
enable = true ;
extensions = with pkgs . vscode-extensions ; [
devsense . profiler-php-vscode
devsense . phptools-vscode
devsense . composer-php-vscode
xdebug . php-debug
firefox-devtools . vscode-firefox-debug
bbenoist . nix
] ;
} ;
2024-10-14 17:28:31 -04:00
} ;
services = {
blueman-applet . enable = true ;
nextcloud-client = {
enable = false ;
startInBackground = false ;
} ;
udiskie = {
2025-05-03 12:34:07 -04:00
enable = true ;
notify = true ;
2024-10-14 17:28:31 -04:00
settings = {
program_options = {
tray = " a u t o " ;
notify = true ;
} ;
icon_names . media = [ " m e d i a - o p t i c a l " ] ;
} ;
} ;
} ;
news . display = " s i l e n t " ;
systemd . user . startServices = " s d - s w i t c h " ;
2024-12-06 13:12:42 -05:00
home . stateVersion = " 2 4 . 1 1 " ;
2024-10-14 17:28:31 -04:00
}