156 lines
3.4 KiB
Nix
156 lines
3.4 KiB
Nix
{
|
|
hostType,
|
|
inputs,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
{
|
|
config = lib.mkMerge [
|
|
# Common configuration
|
|
{
|
|
environment.systemPackages = with pkgs; [
|
|
### Dev Tools ###
|
|
agenix
|
|
git
|
|
helix
|
|
### System Utilities ###
|
|
btop
|
|
fastfetch
|
|
nixos-firewall-tool
|
|
sysz
|
|
wget
|
|
tmux
|
|
];
|
|
|
|
programs = {
|
|
fish.enable = true;
|
|
command-not-found.enable = false;
|
|
};
|
|
|
|
environment.shellAliases = {
|
|
ls = "${pkgs.eza}/bin/eza --icons --group-directories-first";
|
|
neofetch = "fastfetch";
|
|
tree = "ls --tree";
|
|
syscleanup = "sudo nix-collect-garbage -d; sudo /run/current-system/bin/switch-to-configuration boot";
|
|
};
|
|
|
|
services.flatpak.enable = lib.mkForce false;
|
|
}
|
|
|
|
# Server specific configuration
|
|
(lib.mkIf hostType.isServer {
|
|
})
|
|
|
|
# Workstation specific configuration
|
|
(lib.mkIf hostType.isWorkstation ({
|
|
environment.systemPackages = with pkgs; [
|
|
### Dev Tools ###
|
|
bat
|
|
code-cursor
|
|
deploy-rs
|
|
fd
|
|
fzf
|
|
nixfmt-rfc-style
|
|
nix-init
|
|
nix-output-monitor
|
|
ripgrep
|
|
### Internet Browsers & Communication ###
|
|
beeper
|
|
brave
|
|
tor-browser
|
|
vesktop
|
|
### Office & Productivity ###
|
|
aspell
|
|
aspellDicts.de
|
|
aspellDicts.en
|
|
aspellDicts.en-computers
|
|
aspellDicts.pt_BR
|
|
libreoffice-qt
|
|
obsidian
|
|
(octaveFull.withPackages (octavePackages: with octavePackages; [ signal ]))
|
|
onlyoffice-desktopeditors
|
|
rnote
|
|
### Graphics & Design ###
|
|
gimp
|
|
inkscape
|
|
orca-slicer
|
|
plasticity
|
|
### Gaming & Entertainment ###
|
|
clonehero
|
|
heroic
|
|
mangohud
|
|
prismlauncher
|
|
protonup
|
|
### System Utilities ###
|
|
adwaita-icon-theme
|
|
junction
|
|
kara
|
|
kde-rounded-corners
|
|
libfido2
|
|
morewaita-icon-theme
|
|
nautilus
|
|
mission-center
|
|
p7zip
|
|
qbittorrent
|
|
quickemu
|
|
quickgui
|
|
rustdesk
|
|
steam-run
|
|
toggleaudiosink
|
|
unrar
|
|
### Media ###
|
|
mpv
|
|
obs-studio
|
|
qview
|
|
];
|
|
|
|
programs = {
|
|
adb.enable = true;
|
|
steam.enable = true;
|
|
dconf.enable = true;
|
|
nix-ld.enable = true;
|
|
kdeconnect.enable = true;
|
|
partition-manager.enable = true;
|
|
gamemode.enable = true;
|
|
appimage = {
|
|
enable = true;
|
|
binfmt = true;
|
|
};
|
|
nh = {
|
|
enable = true;
|
|
flake = "/home/user/Projects/personal/nix-config";
|
|
};
|
|
};
|
|
|
|
fonts = {
|
|
fontDir.enable = true;
|
|
packages = with pkgs; [
|
|
corefonts
|
|
inter
|
|
nerd-fonts.hack
|
|
noto-fonts-cjk-sans
|
|
roboto
|
|
];
|
|
};
|
|
|
|
services.flatpak = {
|
|
enable = true;
|
|
packages = [
|
|
"com.boxy_svg.BoxySVG"
|
|
"com.github.k4zmu2a.spacecadetpinball"
|
|
"com.github.tchx84.Flatseal"
|
|
"com.steamgriddb.SGDBoop"
|
|
"app.zen_browser.zen"
|
|
"io.github.Foldex.AdwSteamGtk"
|
|
"io.itch.itch"
|
|
"io.mrarm.mcpelauncher"
|
|
"org.freedesktop.Platform.VulkanLayer.MangoHud/x86_64/24.08"
|
|
];
|
|
uninstallUnmanaged = true;
|
|
update.auto.enable = true;
|
|
};
|
|
}))
|
|
];
|
|
}
|