157 lines
3.4 KiB
Nix
157 lines
3.4 KiB
Nix
# This is your home-manager configuration file
|
|
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
|
|
{
|
|
inputs,
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
# You can import other home-manager modules here
|
|
imports = [
|
|
./neovim
|
|
];
|
|
|
|
nixpkgs = {
|
|
# You can add overlays here
|
|
overlays = [
|
|
# If you want to use overlays exported from other flakes:
|
|
# neovim-nightly-overlay.overlays.default
|
|
|
|
# Or define it inline, for example:
|
|
# (final: prev: {
|
|
# hi = final.hello.overrideAttrs (oldAttrs: {
|
|
# patches = [ ./change-hello-to-hi.patch ];
|
|
# });
|
|
# })
|
|
];
|
|
# Configure your nixpkgs instance
|
|
config = {
|
|
# Disable if you don't want unfree packages
|
|
allowUnfree = true;
|
|
# Workaround for https://github.com/nix-community/home-manager/issues/2942
|
|
allowUnfreePredicate = _: true;
|
|
};
|
|
};
|
|
|
|
# TODO: Set your username
|
|
home = {
|
|
username = "cnst";
|
|
homeDirectory = "/home/cnst";
|
|
};
|
|
|
|
# Add stuff for your user as you see fit:
|
|
# programs.neovim.enable = true;
|
|
home.packages = with pkgs; [
|
|
# Desktop
|
|
firefox
|
|
alacritty
|
|
wl-clipboard
|
|
dunst
|
|
keepassxc
|
|
ranger
|
|
webcord-vencord
|
|
xfce.thunar
|
|
xfce.thunar-volman
|
|
xfce.thunar-archive-plugin
|
|
gnome.file-roller
|
|
gvfs
|
|
swaybg
|
|
wireguard-tools
|
|
wpa_supplicant
|
|
ntfs3g
|
|
xdg-utils
|
|
kdePackages.polkit-kde-agent-1
|
|
networkmanagerapplet
|
|
blueman
|
|
htop
|
|
btop
|
|
tofi
|
|
pamixer
|
|
virt-manager
|
|
qbittorrent
|
|
fastfetch
|
|
waybar
|
|
nwg-look
|
|
mullvad-vpn
|
|
thefuck
|
|
calcurse
|
|
];
|
|
|
|
# Hyprland & accessories
|
|
# wayland.windowManager.hyprland.enable = true;
|
|
# programs.waybar.enable = true;
|
|
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
package = pkgs.hyprland;
|
|
xwayland.enable = true;
|
|
extraConfig = ''
|
|
${builtins.readFile ./hypr/hyprland.conf}
|
|
'';
|
|
systemd.enable = true;
|
|
};
|
|
|
|
xdg.portal.extraPortals = [pkgs.xdg-desktop-portal-gtk];
|
|
|
|
home.sessionVariables = {
|
|
MOZ_ENABLE_WAYLAND = 1;
|
|
NIXOS_OZONE_WL = 1;
|
|
SDL_VIDEODRIVER = "wayland";
|
|
QT_QPA_PLATFORM = "wayland";
|
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
|
};
|
|
|
|
gtk = {
|
|
enable = true;
|
|
theme = {
|
|
package = pkgs.orchis-theme;
|
|
name = "Orchis-Grey-Dark-Compact";
|
|
};
|
|
iconTheme = {
|
|
package = pkgs.gruvbox-plus-icons;
|
|
name = "Gruvbox-Plus-Dark";
|
|
};
|
|
font = {
|
|
name = "FiraCode Nerd Font Light";
|
|
size = 11;
|
|
};
|
|
};
|
|
|
|
programs = {
|
|
home-manager.enable = true;
|
|
git = {
|
|
enable = true;
|
|
userName = "cnst";
|
|
userEmail = "cnst@cana.st";
|
|
};
|
|
zsh = {
|
|
enable = true;
|
|
enableCompletion = true;
|
|
autosuggestion.enable = true;
|
|
syntaxHighlighting.enable = true;
|
|
|
|
shellAliases = {
|
|
nixconfig = "cd /home/cnst/.nix-config/";
|
|
ll = "ls -l";
|
|
nixupdate = "sudo nixos-rebuild switch --flake .#cnix";
|
|
flakeupdate = "nix flake update";
|
|
};
|
|
history = {
|
|
size = 10000;
|
|
path = "${config.xdg.dataHome}/zsh/history";
|
|
};
|
|
oh-my-zsh = {
|
|
enable = true;
|
|
plugins = ["git" "thefuck"];
|
|
theme = "robbyrussell";
|
|
};
|
|
};
|
|
};
|
|
# Nicely reload system units when changing configs
|
|
systemd.user.startServices = "sd-switch";
|
|
|
|
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
|
home.stateVersion = "24.05";
|
|
}
|