210 lines
5.8 KiB
Nix
210 lines
5.8 KiB
Nix
#
|
|
# General Home-manager configuration
|
|
#
|
|
# flake.nix
|
|
# ├─ ./hosts
|
|
# │ └─ home.nix *
|
|
# └─ ./modules
|
|
# ├─ ./editors
|
|
# │ └─ default.nix
|
|
# ├─ ./programs
|
|
# │ └─ default.nix
|
|
# ├─ ./services
|
|
# │ └─ default.nix
|
|
# └─ ./shell
|
|
# └─ default.nix
|
|
#
|
|
|
|
{ config, lib, pkgs, user, ... }:
|
|
|
|
{
|
|
imports = # Home Manager Modules
|
|
(import ../modules/editors) ++
|
|
(import ../modules/programs) ++
|
|
(import ../modules/programs/configs) ++
|
|
(import ../modules/services) ++
|
|
(import ../modules/shell);
|
|
|
|
home = {
|
|
username = "${user}";
|
|
homeDirectory = "/home/${user}";
|
|
|
|
packages = with pkgs; [
|
|
# Terminal
|
|
btop # Resource Manager
|
|
pfetch # Minimal fetch
|
|
ranger # File Manager
|
|
gnupg # sign and authorize 2nd Fac
|
|
|
|
xdg-utils
|
|
steam
|
|
|
|
# dev tools
|
|
gcc
|
|
gnumake
|
|
gnupatch
|
|
gnulib
|
|
yubioath-flutter
|
|
nitrokey-app
|
|
|
|
tailscale
|
|
wireguard-tools
|
|
|
|
# Video/Audio
|
|
#feh # Image Viewer
|
|
mpv # Media Player
|
|
youtube-dl
|
|
#pavucontrol # Audio control
|
|
#stremio # Media Streamer
|
|
#libva-utils # vainfo
|
|
|
|
# Apps
|
|
#firefox # Browser
|
|
#google-chrome # Browser
|
|
#remmina # XRDP & VNC Client
|
|
galculator
|
|
tdesktop
|
|
hdparm
|
|
python3Full
|
|
android-tools
|
|
calibre
|
|
mtpfs
|
|
vimiv-qt
|
|
#freecad
|
|
|
|
# File Management
|
|
#okular # PDF viewer
|
|
#gnome.file-roller # Archive Manager
|
|
pcmanfm # File Manager
|
|
rsync # Syncer $ rsync -r dir1/ dir2/
|
|
unzip # Zip files
|
|
unrar # Rar files
|
|
papirus-icon-theme
|
|
|
|
# General configuration
|
|
#git # Repositories
|
|
#killall # Stop Applications
|
|
#nano # Text Editor
|
|
#pciutils # Computer utility info
|
|
#pipewire # Sound
|
|
#usbutils # USB utility info
|
|
#wacomtablet # Wacom Tablet
|
|
#wget # Downloader
|
|
#zsh # Shell
|
|
keepassxc
|
|
libreoffice
|
|
#
|
|
# General home-manager
|
|
#alacritty # Terminal Emulator
|
|
#dunst # Notifications
|
|
#doom emacs # Text Editor
|
|
#flameshot # Screenshot
|
|
#libnotify # Dep for Dunst
|
|
#neovim # Text Editor
|
|
#rofi # Menu
|
|
#udiskie # Auto Mounting
|
|
#vim # Text Editor
|
|
#
|
|
# Xorg configuration
|
|
#xclip # Console Clipboard
|
|
#xorg.xev # Input viewer
|
|
#xorg.xkill # Kill Applications
|
|
#xorg.xrandr # Screen settings
|
|
#xterm # Terminal
|
|
#
|
|
# Xorg home-manager
|
|
#picom # Compositer
|
|
#polybar # Bar
|
|
#sxhkd # Shortcuts
|
|
#
|
|
# Wayland configuration
|
|
#autotiling # Tiling Script
|
|
#swayidle # Idle Management Daemon
|
|
#wev # Input viewer
|
|
#wl-clipboard # Console Clipboard
|
|
#
|
|
# Wayland home-manager
|
|
#pamixer # Pulse Audio Mixer
|
|
#swaylock-fancy # Screen Locker
|
|
#waybar # Bar
|
|
#
|
|
# Desktop
|
|
#blueman # Bluetooth
|
|
#deluge # Torrents
|
|
#discord # Chat
|
|
#ffmpeg # Video Support (dslr)
|
|
#gmtp # Mount MTP (GoPro)
|
|
#gphoto2 # Digital Photography
|
|
#handbrake # Encoder
|
|
#heroic # Game Launcher
|
|
#hugo # Static Website Builder
|
|
#lutris # Game Launcher
|
|
#mkvtoolnix # Matroska Tool
|
|
#new-lg4ff # Logitech Drivers
|
|
#plex-media-player# Media Player
|
|
#polymc # MC Launcher
|
|
#steam # Games
|
|
#simple-scan # Scanning
|
|
#
|
|
# Laptop
|
|
#blueman # Bluetooth
|
|
#light # Display Brightness
|
|
#libreoffice # Office Tools
|
|
#simple-scan # Scanning
|
|
#
|
|
# Flatpak
|
|
#obs-studio # Recording/Live Streaming
|
|
#super-slicer-latest
|
|
#vscodium
|
|
(vscode-with-extensions.override {
|
|
vscode = vscodium;
|
|
vscodeExtensions = with vscode-extensions; [
|
|
vscodevim.vim
|
|
github.copilot
|
|
ms-python.python
|
|
ms-vscode.cpptools
|
|
dracula-theme.theme-dracula
|
|
catppuccin.catppuccin-vsc
|
|
catppuccin.catppuccin-vsc-icons
|
|
|
|
];
|
|
})
|
|
];
|
|
file.".config/wall".source = ../modules/themes/wall.jpg;
|
|
file.".config/lockwall".source = ../modules/themes/lockwall.jpg;
|
|
pointerCursor = { # This will set cursor systemwide so applications can not choose their own
|
|
name = "Dracula-cursors";
|
|
package = pkgs.dracula-theme;
|
|
size = 16;
|
|
gtk.enable = true;
|
|
};
|
|
stateVersion = "22.05";
|
|
};
|
|
|
|
programs = {
|
|
home-manager.enable = true;
|
|
};
|
|
|
|
|
|
gtk = { # Theming
|
|
enable = true;
|
|
theme = {
|
|
name = "Dracula";
|
|
package = pkgs.dracula-theme;
|
|
};
|
|
iconTheme = {
|
|
name = "Papirus-Dark";
|
|
package = pkgs.papirus-icon-theme;
|
|
};
|
|
font = {
|
|
name = "FiraCode Nerd Font"; # or FiraCode Nerd Font Mono Medium
|
|
}; # Cursor is declared under home.pointerCursor
|
|
};
|
|
systemd.user.services.mpris-proxy = {
|
|
Unit.Description = "Mpris proxy";
|
|
Unit.After = [ "network.target" "sound.target" ];
|
|
Service.ExecStart = "${pkgs.bluez}/bin/mpris-proxy";
|
|
Install.WantedBy = [ "default.target" ];
|
|
};
|
|
}
|