restructurisation of my dotfiles, zenith and leanix created
This commit is contained in:
parent
8abf05e663
commit
f4bc3dd7e8
|
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
@ -69,7 +69,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
modules = [
|
modules = [
|
||||||
./nixos/configuration.nix
|
./zenith/configuration.nix
|
||||||
|
|
||||||
inputs.stylix.nixosModules.stylix
|
inputs.stylix.nixosModules.stylix
|
||||||
inputs.nix-ld.nixosModules.nix-ld
|
inputs.nix-ld.nixosModules.nix-ld
|
||||||
|
|||||||
@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
|
|
||||||
|
# Home manager
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = {inherit inputs pkgs pkgs-stable username;};
|
extraSpecialArgs = {inherit inputs pkgs pkgs-stable username;};
|
||||||
backupFileExtension = "backup";
|
backupFileExtension = "backup";
|
||||||
@ -22,27 +23,31 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Bootloader
|
# User configuration
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
FLAKE = "/home/${username}/.dotfiles";
|
|
||||||
|
|
||||||
DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
|
|
||||||
};
|
|
||||||
|
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "${username}";
|
description = "${username}";
|
||||||
extraGroups = ["wheel"];
|
extraGroups = ["wheel"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Bootloader
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
|
||||||
|
# Environment variables
|
||||||
|
environment.sessionVariables = {
|
||||||
|
FLAKE = "/home/${username}/.dotfiles";
|
||||||
|
|
||||||
|
DEFAULT_BROWSER = "${pkgs.firefox}/bin/firefox";
|
||||||
|
};
|
||||||
|
|
||||||
|
# System level configuration
|
||||||
sys = {
|
sys = {
|
||||||
audio.enable = true;
|
audio.enable = true;
|
||||||
desktop = {
|
desktop = {
|
||||||
plasma.enable = false;
|
plasma.enable = false;
|
||||||
gnome.enable = true;
|
gnome.enable = true;
|
||||||
hyprland.enable = false;
|
hyprland.enable = false;
|
||||||
|
steamdeck.enable = false;
|
||||||
};
|
};
|
||||||
fonts.packages = true;
|
fonts.packages = true;
|
||||||
locales.enable = true;
|
locales.enable = true;
|
||||||
@ -52,7 +57,7 @@
|
|||||||
blueman.enable = false;
|
blueman.enable = false;
|
||||||
};
|
};
|
||||||
nvidia.enable = false;
|
nvidia.enable = false;
|
||||||
printing.enable = false;
|
printing.enable = true;
|
||||||
login = {
|
login = {
|
||||||
sddm.enable = false;
|
sddm.enable = false;
|
||||||
gdm.enable = true;
|
gdm.enable = true;
|
||||||
@ -60,7 +65,8 @@
|
|||||||
style.enable = true;
|
style.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
package = {
|
# Configured programs to enable
|
||||||
|
program = {
|
||||||
docker.enable = false;
|
docker.enable = false;
|
||||||
podman.enable = true;
|
podman.enable = true;
|
||||||
steam.enable = false;
|
steam.enable = false;
|
||||||
@ -68,7 +74,8 @@
|
|||||||
tor.enable = false;
|
tor.enable = false;
|
||||||
virt-manager.enable = false;
|
virt-manager.enable = false;
|
||||||
};
|
};
|
||||||
desktop.steamdeck.enable = false;
|
|
||||||
|
# Basic programs to enable
|
||||||
programs.kdeconnect.enable = true;
|
programs.kdeconnect.enable = true;
|
||||||
programs.wireshark.enable = false;
|
programs.wireshark.enable = false;
|
||||||
|
|
||||||
|
|||||||
@ -3,24 +3,34 @@
|
|||||||
username,
|
username,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
# Home manager configuration
|
||||||
home.username = "${username}";
|
home.username = "${username}";
|
||||||
home.homeDirectory = "/home/${username}";
|
home.homeDirectory = "/home/${username}";
|
||||||
home.stateVersion = "24.11"; # Please read the comment before changing.
|
home.stateVersion = "24.11"; # Please read the comment before changing.
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
../nixos/packages/packages.nix
|
../nixos/home/packages/packages.nix
|
||||||
../nixos/desktop/gnome/gnome.nix
|
../nixos/home/desktop/gnome/gnome.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Desktop management
|
||||||
desktop.gnome.enable = true;
|
desktop.gnome.enable = true;
|
||||||
|
|
||||||
group = {
|
# Shell management
|
||||||
|
sh.bash = {
|
||||||
|
enable = true;
|
||||||
|
oh-my-posh.enable = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Application lists
|
||||||
|
app_list = {
|
||||||
hacking.enable = false;
|
hacking.enable = false;
|
||||||
applications.enable = false;
|
applications.enable = false;
|
||||||
terminal_tools.enable = true;
|
terminal_tools.enable = false;
|
||||||
programming.enable = false;
|
programming.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Configured programs to enable
|
||||||
program = {
|
program = {
|
||||||
kitty.enable = false;
|
kitty.enable = false;
|
||||||
tmux.enable = false;
|
tmux.enable = false;
|
||||||
@ -32,17 +42,14 @@
|
|||||||
spotify.enable = false;
|
spotify.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
sh.bash = {
|
# Basic programs to enable
|
||||||
enable = true;
|
|
||||||
oh-my-posh.enable = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
bat.enable = false;
|
bat.enable = false;
|
||||||
btop.enable = false;
|
btop.enable = false;
|
||||||
fzf.enable = false;
|
fzf.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Packages
|
||||||
home.packages = with pkgs-stable; [
|
home.packages = with pkgs-stable; [
|
||||||
libreoffice
|
libreoffice
|
||||||
inkscape
|
inkscape
|
||||||
|
|||||||
@ -1,33 +0,0 @@
|
|||||||
{username, ...}: {
|
|
||||||
home.username = "${username}";
|
|
||||||
home.homeDirectory = "/home/${username}";
|
|
||||||
home.stateVersion = "24.05"; # Please read the comment before changing.
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
./packages/packages.nix
|
|
||||||
./desktop/desktops.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
desktop.hyprland.enable = true;
|
|
||||||
desktop.kde.enable = true;
|
|
||||||
group.programming.enable = true;
|
|
||||||
group.games.enable = true;
|
|
||||||
|
|
||||||
gtk.enable = true;
|
|
||||||
|
|
||||||
|
|
||||||
home.file = {
|
|
||||||
".config/hypr/hyprlock.conf".source = ../config/hyprlock.conf;
|
|
||||||
".config/hypr/mocha.conf".source = ../config/mocha.conf;
|
|
||||||
".config/hypr/hypridle.conf".source = ../config/hypridle.conf;
|
|
||||||
#".config/dolphinrc".source = ../config/dolphinrc;
|
|
||||||
".prettierrc".text = ''
|
|
||||||
{
|
|
||||||
"tabWidth": 4,
|
|
||||||
"useTabs": true
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
# Let Home Manager install and manage itself.
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
}
|
|
||||||
@ -6,10 +6,10 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
options = {
|
options = {
|
||||||
group.applications.enable = lib.mkEnableOption "Enable graphical applications";
|
app_list.applications.enable = lib.mkEnableOption "Enable graphical applications";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.group.applications.enable {
|
config = lib.mkIf config.app_list.applications.enable {
|
||||||
home.packages =
|
home.packages =
|
||||||
(with pkgs; [
|
(with pkgs; [
|
||||||
librewolf
|
librewolf
|
||||||
@ -5,10 +5,10 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
options = {
|
options = {
|
||||||
group.games.enable =
|
app_list.games.enable =
|
||||||
lib.mkEnableOption "enables games";
|
lib.mkEnableOption "enable games";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.group.games.enable {
|
config = lib.mkIf config.app_list.games.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
vitetris
|
vitetris
|
||||||
steam
|
steam
|
||||||
@ -5,10 +5,10 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
options = {
|
options = {
|
||||||
group.hacking.enable = lib.mkEnableOption "enable Hacking module";
|
app_list.hacking.enable = lib.mkEnableOption "enable Hacking module";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.group.hacking.enable {
|
config = lib.mkIf config.app_list.hacking.enable {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
ffuf
|
ffuf
|
||||||
wireshark
|
wireshark
|
||||||
@ -5,21 +5,11 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
options = {
|
options = {
|
||||||
group.programming.enable =
|
app_list.programming.enable =
|
||||||
lib.mkEnableOption "enable programming toolset";
|
lib.mkEnableOption "enable programming toolset";
|
||||||
};
|
};
|
||||||
|
|
||||||
imports = [
|
config = lib.mkIf config.app_list.programming.enable {
|
||||||
./code.nix
|
|
||||||
./git.nix
|
|
||||||
./neovim.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
config = lib.mkIf config.group.programming.enable {
|
|
||||||
program.vscode.enable = lib.mkDefault true;
|
|
||||||
program.git.enable = lib.mkDefault true;
|
|
||||||
program.neovim.enable = lib.mkDefault true;
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
arduino-ide
|
arduino-ide
|
||||||
distrobox
|
distrobox
|
||||||
34
nixos/home/apps/terminal_tools.nix
Normal file
34
nixos/home/apps/terminal_tools.nix
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options = {
|
||||||
|
app_list.terminal_tools.enable =
|
||||||
|
lib.mkEnableOption "Enable terminal tools applist";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf config.app_list.terminal_tools.enable {
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
pfetch
|
||||||
|
bat
|
||||||
|
btop
|
||||||
|
cmatrix
|
||||||
|
entr
|
||||||
|
figlet
|
||||||
|
jp2a
|
||||||
|
yt-dlp
|
||||||
|
eza
|
||||||
|
nvtopPackages.full
|
||||||
|
neofetch
|
||||||
|
wget
|
||||||
|
curl
|
||||||
|
fzf
|
||||||
|
tldr
|
||||||
|
ranger
|
||||||
|
unzip
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@ -10,13 +10,11 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.desktop.gnome.enable {
|
config = lib.mkIf config.desktop.gnome.enable {
|
||||||
|
|
||||||
home.packages = with pkgs.gnomeExtensions; [
|
home.packages = with pkgs.gnomeExtensions; [
|
||||||
blur-my-shell
|
blur-my-shell
|
||||||
gsconnect
|
gsconnect
|
||||||
appindicator
|
appindicator
|
||||||
privacy-settings-menu
|
privacy-settings-menu
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
dconf = {
|
dconf = {
|
||||||
@ -72,7 +72,7 @@
|
|||||||
(writeShellScriptBin "keyboardswitch" ''
|
(writeShellScriptBin "keyboardswitch" ''
|
||||||
hyprctl switchxkblayout all next
|
hyprctl switchxkblayout all next
|
||||||
layMain=$(hyprctl -j devices | jq '.keyboards' | jq '.[] | select (.main == true)' | awk -F '"' '{if ($2=="active_keymap") print $4}')
|
layMain=$(hyprctl -j devices | jq '.keyboards' | jq '.[] | select (.main == true)' | awk -F '"' '{if ($2=="active_keymap") print $4}')
|
||||||
${libnotify}/bin/notify-send -a "t1" -r 91190 -t 800 "$layMain" -i ~/dotfiles/config/keyboard.svg
|
${libnotify}/bin/notify-send -a "t1" -r 91190 -t 800 "$layMain" -i ~/dotfiles/config/icons/keyboard.svg
|
||||||
'')
|
'')
|
||||||
|
|
||||||
#(writeShellScriptBin "windowpin")
|
#(writeShellScriptBin "windowpin")
|
||||||
@ -4,16 +4,45 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./programming/programming.nix
|
./programming/code.nix
|
||||||
./hacking/hacking.nix
|
./programming/git.nix
|
||||||
./games.nix
|
./programming/neovim.nix
|
||||||
./terminal_tools.nix
|
|
||||||
./applications.nix
|
../apps/hacking.nix
|
||||||
|
../apps/games.nix
|
||||||
|
../apps/applications.nix
|
||||||
|
../apps/terminal_tools.nix
|
||||||
|
../apps/programming.nix
|
||||||
|
|
||||||
./applications/firefox.nix
|
./applications/firefox.nix
|
||||||
./applications/spotify.nix
|
./applications/spotify.nix
|
||||||
|
|
||||||
|
./tools/oh-my-posh.nix
|
||||||
|
./tools/shell.nix
|
||||||
|
./tools/kitty.nix
|
||||||
|
./tools/tmux.nix
|
||||||
|
./tools/zoxide.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
group = {
|
sh.bash = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
oh-my-posh.enable = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
|
||||||
|
program = {
|
||||||
|
kitty.enable = lib.mkDefault true;
|
||||||
|
tmux.enable = lib.mkDefault true;
|
||||||
|
zoxide.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
firefox.enable = lib.mkDefault true;
|
||||||
|
spotify.enable = lib.mkDefault true;
|
||||||
|
|
||||||
|
vscode.enable = lib.mkDefault true;
|
||||||
|
git.enable = lib.mkDefault true;
|
||||||
|
neovim.enable = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
|
||||||
|
app_list = {
|
||||||
terminal_tools.enable = lib.mkDefault true;
|
terminal_tools.enable = lib.mkDefault true;
|
||||||
programming.enable = lib.mkDefault true;
|
programming.enable = lib.mkDefault true;
|
||||||
games.enable = lib.mkDefault false;
|
games.enable = lib.mkDefault false;
|
||||||
@ -21,8 +50,18 @@
|
|||||||
hacking.enable = lib.mkDefault true;
|
hacking.enable = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
|
|
||||||
program.firefox.enable = lib.mkDefault true;
|
programs = {
|
||||||
program.spotify.enable = lib.mkDefault true;
|
bat.enable = lib.mkDefault true;
|
||||||
|
btop.enable = lib.mkDefault true;
|
||||||
|
fzf.enable = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
|
||||||
|
stylix.targets = {
|
||||||
|
bat.enable = lib.mkDefault true;
|
||||||
|
btop.enable = lib.mkDefault true;
|
||||||
|
fzf.enable = lib.mkDefault true;
|
||||||
|
neovim.enable = lib.mkDefault true;
|
||||||
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
alejandra
|
alejandra
|
||||||
@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
lib,
|
lib,
|
||||||
config,
|
config,
|
||||||
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
options = {
|
options = {
|
||||||
@ -15,5 +16,9 @@
|
|||||||
"--cmd cd"
|
"--cmd cd"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.packages= with pkgs; [
|
||||||
|
zoxide
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@ -1,67 +0,0 @@
|
|||||||
{
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
config,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
options = {
|
|
||||||
group.terminal_tools.enable =
|
|
||||||
lib.mkEnableOption "enable terminal tools module";
|
|
||||||
};
|
|
||||||
|
|
||||||
imports = [
|
|
||||||
./tools/oh-my-posh.nix
|
|
||||||
./tools/shell.nix
|
|
||||||
./tools/kitty.nix
|
|
||||||
./tools/tmux.nix
|
|
||||||
./tools/zoxide.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
config = lib.mkIf config.group.terminal_tools.enable {
|
|
||||||
|
|
||||||
sh.bash = {
|
|
||||||
enable = lib.mkDefault true;
|
|
||||||
oh-my-posh.enable = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
|
|
||||||
program = {
|
|
||||||
kitty.enable = lib.mkDefault true;
|
|
||||||
tmux.enable = lib.mkDefault true;
|
|
||||||
zoxide.enable = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
bat.enable = lib.mkDefault true;
|
|
||||||
btop.enable = lib.mkDefault true;
|
|
||||||
fzf.enable = lib.mkDefault true;
|
|
||||||
};
|
|
||||||
|
|
||||||
stylix.targets = {
|
|
||||||
bat.enable = true;
|
|
||||||
btop.enable = true;
|
|
||||||
fzf.enable = true;
|
|
||||||
neovim.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
pfetch
|
|
||||||
zoxide
|
|
||||||
bat
|
|
||||||
btop
|
|
||||||
cmatrix
|
|
||||||
entr
|
|
||||||
figlet
|
|
||||||
jp2a
|
|
||||||
yt-dlp
|
|
||||||
eza
|
|
||||||
nvtopPackages.full
|
|
||||||
neofetch
|
|
||||||
wget
|
|
||||||
curl
|
|
||||||
fzf
|
|
||||||
tldr
|
|
||||||
ranger
|
|
||||||
unzip
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@ -7,7 +7,7 @@
|
|||||||
./packages/virtual-machines.nix
|
./packages/virtual-machines.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
package = {
|
program = {
|
||||||
docker.enable = lib.mkDefault false;
|
docker.enable = lib.mkDefault false;
|
||||||
podman.enable = lib.mkDefault true;
|
podman.enable = lib.mkDefault true;
|
||||||
steam.enable = lib.mkDefault true;
|
steam.enable = lib.mkDefault true;
|
||||||
@ -15,7 +15,7 @@
|
|||||||
tor.enable = lib.mkDefault true;
|
tor.enable = lib.mkDefault true;
|
||||||
virt-manager.enable = lib.mkDefault true;
|
virt-manager.enable = lib.mkDefault true;
|
||||||
};
|
};
|
||||||
desktop.steamdeck.enable = lib.mkDefault false;
|
sys.desktop.steamdeck.enable = lib.mkDefault false;
|
||||||
programs.kdeconnect.enable = lib.mkDefault true;
|
programs.kdeconnect.enable = lib.mkDefault true;
|
||||||
programs.wireshark.enable = lib.mkDefault true;
|
programs.wireshark.enable = lib.mkDefault true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,10 +5,10 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
options = {
|
options = {
|
||||||
package.docker.enable = lib.mkEnableOption "Enable Docker";
|
program.docker.enable = lib.mkEnableOption "Enable Docker";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.package.docker.enable {
|
config = lib.mkIf config.program.docker.enable {
|
||||||
virtualisation.docker = {
|
virtualisation.docker = {
|
||||||
enable = true;
|
enable = true;
|
||||||
rootless = {
|
rootless = {
|
||||||
|
|||||||
@ -5,10 +5,10 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
options = {
|
options = {
|
||||||
package.podman.enable = lib.mkEnableOption "Enable Podman";
|
program.podman.enable = lib.mkEnableOption "Enable Podman";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf config.package.podman.enable {
|
config = lib.mkIf config.program.podman.enable {
|
||||||
virtualisation.containers.enable = true;
|
virtualisation.containers.enable = true;
|
||||||
virtualisation = {
|
virtualisation = {
|
||||||
podman = {
|
podman = {
|
||||||
|
|||||||
@ -6,12 +6,12 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
options = {
|
options = {
|
||||||
package.steam.enable = lib.mkEnableOption "Enable Steam module";
|
program.steam.enable = lib.mkEnableOption "Enable Steam module";
|
||||||
desktop.steamdeck.enable = lib.mkEnableOption "Enable Steam desktop integration";
|
sys.desktop.steamdeck.enable = lib.mkEnableOption "Enable Steam desktop integration";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkMerge [
|
config = lib.mkMerge [
|
||||||
(lib.mkIf config.package.steam.enable {
|
(lib.mkIf config.program.steam.enable {
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
gamescopeSession.enable = true;
|
gamescopeSession.enable = true;
|
||||||
@ -20,7 +20,7 @@
|
|||||||
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(lib.mkIf config.desktop.steamdeck.enable {
|
(lib.mkIf config.sys.desktop.steamdeck.enable {
|
||||||
services.getty.autologinUser = "${username}";
|
services.getty.autologinUser = "${username}";
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = [pkgs.mangohud];
|
systemPackages = [pkgs.mangohud];
|
||||||
|
|||||||
@ -4,18 +4,18 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
options = {
|
options = {
|
||||||
package.tor.enable = lib.mkEnableOption "Enable Tor";
|
program.tor.enable = lib.mkEnableOption "Enable Tor";
|
||||||
package.proxychains.enable = lib.mkEnableOption "Enable Proxychains";
|
program.proxychains.enable = lib.mkEnableOption "Enable Proxychains";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkMerge [
|
config = lib.mkMerge [
|
||||||
(lib.mkIf config.package.tor.enable {
|
(lib.mkIf config.program.tor.enable {
|
||||||
services.tor = {
|
services.tor = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
services.tor.client.enable = true;
|
services.tor.client.enable = true;
|
||||||
})
|
})
|
||||||
(lib.mkIf config.package.proxychains.enable {
|
(lib.mkIf config.program.proxychains.enable {
|
||||||
programs.proxychains = {
|
programs.proxychains = {
|
||||||
enable = true;
|
enable = true;
|
||||||
chain.type = "dynamic";
|
chain.type = "dynamic";
|
||||||
|
|||||||
@ -4,9 +4,9 @@
|
|||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
options = {
|
options = {
|
||||||
package.virt-manager.enable = lib.mkEnableOption "Enable virt-manager";
|
program.virt-manager.enable = lib.mkEnableOption "Enable virt-manager";
|
||||||
};
|
};
|
||||||
config = lib.mkIf config.package.virt-manager.enable {
|
config = lib.mkIf config.program.virt-manager.enable {
|
||||||
virtualisation.libvirtd.enable = true;
|
virtualisation.libvirtd.enable = true;
|
||||||
programs.virt-manager.enable = true;
|
programs.virt-manager.enable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,14 +1,14 @@
|
|||||||
{lib, ...}: {
|
{lib, ...}: {
|
||||||
imports = [
|
imports = [
|
||||||
./sys/audio.nix
|
./settings/audio.nix
|
||||||
./sys/desktops.nix
|
./settings/desktops.nix
|
||||||
./sys/fonts.nix
|
./settings/fonts.nix
|
||||||
./sys/locales.nix
|
./settings/locales.nix
|
||||||
./sys/network.nix
|
./settings/network.nix
|
||||||
./sys/nvidia.nix
|
./settings/nvidia.nix
|
||||||
./sys/printing.nix
|
./settings/printing.nix
|
||||||
./sys/loginManager.nix
|
./settings/loginManager.nix
|
||||||
./sys/style.nix
|
./settings/style.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
sys = {
|
sys = {
|
||||||
|
|||||||
@ -7,14 +7,15 @@
|
|||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./system/packages.nix
|
../nixos/system/packages.nix
|
||||||
./system/system.nix
|
../nixos/system/system.nix
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
];
|
];
|
||||||
|
|
||||||
nix.settings.experimental-features = ["nix-command" "flakes"];
|
nix.settings.experimental-features = ["nix-command" "flakes"];
|
||||||
programs.nix-ld.dev.enable = true;
|
programs.nix-ld.dev.enable = true;
|
||||||
|
|
||||||
|
# Home manager
|
||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = {inherit inputs pkgs pkgs-stable username;};
|
extraSpecialArgs = {inherit inputs pkgs pkgs-stable username;};
|
||||||
backupFileExtension = "backup";
|
backupFileExtension = "backup";
|
||||||
@ -24,21 +25,63 @@
|
|||||||
sharedModules = [inputs.plasma-manager.homeManagerModules.plasma-manager];
|
sharedModules = [inputs.plasma-manager.homeManagerModules.plasma-manager];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Bootloader.
|
# User configuration
|
||||||
boot.loader.systemd-boot.enable = true;
|
|
||||||
|
|
||||||
environment.sessionVariables = {
|
|
||||||
FLAKE = "/home/${username}/dotfiles";
|
|
||||||
|
|
||||||
DEFAULT_BROWSER = "${pkgs.librewolf}/bin/librewolf";
|
|
||||||
};
|
|
||||||
|
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "${username}";
|
description = "${username}";
|
||||||
extraGroups = ["wheel"];
|
extraGroups = ["wheel"];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Bootloader
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
|
||||||
|
# Environment variables
|
||||||
|
environment.sessionVariables = {
|
||||||
|
FLAKE = "/home/${username}/dotfiles";
|
||||||
|
|
||||||
|
DEFAULT_BROWSER = "${pkgs.librewolf}/bin/librewolf";
|
||||||
|
};
|
||||||
|
|
||||||
|
# System level configuration
|
||||||
|
sys = {
|
||||||
|
audio.enable = true;
|
||||||
|
desktop = {
|
||||||
|
plasma.enable = true;
|
||||||
|
gnome.enable = false;
|
||||||
|
hyprland.enable = true;
|
||||||
|
steamdeck.enable = true;
|
||||||
|
};
|
||||||
|
fonts.packages = true;
|
||||||
|
locales.enable = true;
|
||||||
|
network.enable = true;
|
||||||
|
bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
blueman.enable = true;
|
||||||
|
};
|
||||||
|
nvidia.enable = true;
|
||||||
|
printing.enable = true;
|
||||||
|
login = {
|
||||||
|
sddm.enable = true;
|
||||||
|
gdm.enable = false;
|
||||||
|
};
|
||||||
|
style.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configured programs to enable
|
||||||
|
program = {
|
||||||
|
docker.enable = false;
|
||||||
|
podman.enable = true;
|
||||||
|
steam.enable = true;
|
||||||
|
proxychains.enable = true;
|
||||||
|
tor.enable = true;
|
||||||
|
virt-manager.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Basic programs to enable
|
||||||
|
programs.kdeconnect.enable = true;
|
||||||
|
programs.wireshark.enable = true;
|
||||||
|
|
||||||
|
# Default applications configuration
|
||||||
xdg.mime.enable = true;
|
xdg.mime.enable = true;
|
||||||
xdg.mime.defaultApplications = {
|
xdg.mime.defaultApplications = {
|
||||||
"text/html" = "librewolf.desktop";
|
"text/html" = "librewolf.desktop";
|
||||||
65
zenith/home.nix
Normal file
65
zenith/home.nix
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
{username, ...}: {
|
||||||
|
# Home manager configuration
|
||||||
|
home.username = "${username}";
|
||||||
|
home.homeDirectory = "/home/${username}";
|
||||||
|
home.stateVersion = "24.05"; # Please read the comment before changing.
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
../nixos/home/packages/packages.nix
|
||||||
|
../nixos/home/desktop/desktops.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Desktop management
|
||||||
|
desktop.hyprland.enable = true;
|
||||||
|
desktop.kde.enable = true;
|
||||||
|
desktop.gnome.enable = false;
|
||||||
|
|
||||||
|
# Shell management
|
||||||
|
sh.bash = {
|
||||||
|
enable = true;
|
||||||
|
oh-my-posh.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Application lists
|
||||||
|
app_list = {
|
||||||
|
hacking.enable = true;
|
||||||
|
applications.enable = true;
|
||||||
|
terminal_tools.enable = true;
|
||||||
|
programming.enable = true;
|
||||||
|
games.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configured programs to enable
|
||||||
|
program = {
|
||||||
|
kitty.enable = true;
|
||||||
|
tmux.enable = true;
|
||||||
|
zoxide.enable = true;
|
||||||
|
vscode.enable = true;
|
||||||
|
git.enable = true;
|
||||||
|
neovim.enable = true;
|
||||||
|
firefox.enable = true;
|
||||||
|
spotify.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Basic programs to enable
|
||||||
|
programs = {
|
||||||
|
bat.enable = true;
|
||||||
|
btop.enable = true;
|
||||||
|
fzf.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
".config/hypr/hyprlock.conf".source = ../config/hyprlock.conf;
|
||||||
|
".config/hypr/mocha.conf".source = ../config/mocha.conf;
|
||||||
|
".config/hypr/hypridle.conf".source = ../config/hypridle.conf;
|
||||||
|
#".config/dolphinrc".source = ../config/dolphinrc;
|
||||||
|
".prettierrc".text = ''
|
||||||
|
{
|
||||||
|
"tabWidth": 4,
|
||||||
|
"useTabs": true
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
# Let Home Manager install and manage itself.
|
||||||
|
programs.home-manager.enable = true;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user