131 lines
3.5 KiB
Nix
131 lines
3.5 KiB
Nix
{ config, pkgs, lib, system, user, allowed, secrets, ... }:
|
|
{
|
|
imports = [
|
|
./home-modules/vscode.nix
|
|
./home-modules/discord.nix
|
|
./home-modules/meli/meli.nix
|
|
# ./home-modules/mutt/neomutt.nix
|
|
./home-modules/gestures.nix
|
|
|
|
./home-modules/pnx/pnx.nix
|
|
# ./home-modules/hsmw.nix
|
|
|
|
./home-modules/hyprland/hyprland.nix
|
|
./home-modules/hyprland/hyprland-autoname-workspaces.nix
|
|
|
|
./home-modules/shell/fish.nix
|
|
./home-modules/shell/starship.nix
|
|
./home-modules/shell/yazi.nix
|
|
./home-modules/shell/zoxide.nix
|
|
|
|
./home-modules/ssh.nix
|
|
./home-modules/git.nix
|
|
./home-modules/mako.nix
|
|
|
|
./home-modules/theme/gtk.nix
|
|
./home-modules/theme/qt.nix
|
|
];
|
|
home.username = "nx2";
|
|
home.homeDirectory = "/home/nx2";
|
|
home.stateVersion = "23.11";
|
|
nixpkgs.config = {
|
|
allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) allowed.unfree-packages;
|
|
permittedInsecurePackages = allowed.inecure-packages;
|
|
};
|
|
home.packages = with pkgs; [
|
|
firefox chromium chatterino2
|
|
gimp inkscape
|
|
kitty
|
|
zathura
|
|
#vesktop
|
|
thunderbird element-desktop
|
|
zoom-us
|
|
# vesktop
|
|
discord
|
|
signal-desktop
|
|
|
|
obsidian
|
|
spotify spicetify-cli
|
|
obs-studio bitwarden
|
|
|
|
waybar swww rofi wlogout
|
|
|
|
imv mpv mediainfo exiftool ffmpeg
|
|
pavucontrol fontpreview gtk2fontsel
|
|
lynx bat du-dust eza neofetch tldr fzf figlet delta ripgrep lolcat jq
|
|
brightnessctl wev
|
|
element sssnake pipes
|
|
|
|
nodejs
|
|
|
|
speedtest-go
|
|
|
|
(pkgs.python3.withPackages (python-pkgs: [
|
|
python-pkgs.ipython
|
|
python-pkgs.pipdeptree
|
|
python-pkgs.requests
|
|
]))
|
|
(writeShellScriptBin "nxrbs-nix" ''
|
|
set -e
|
|
pushd ~/.nix-dots/
|
|
git diff
|
|
'')
|
|
# only works on spec arch, chage url for others
|
|
(stdenv.mkDerivation {
|
|
name = "easycommit";
|
|
src = pkgs.fetchurl {
|
|
url = "https://github.com/blackironj/easycommit/releases/download/v0.0.1/easycommit-v0.0.1-linux-amd64.tar.gz";
|
|
sha256 = "sha256-Ip5wfVe/RzCxGGh1YFBllAn84nD7mUXbnMko+ue/C2E=";
|
|
};
|
|
phases = ["installPhase"];
|
|
installPhase = ''
|
|
mkdir -p $out/bin
|
|
tar xf $src -C $out/
|
|
ls -la $out
|
|
mv $out/easycommit $out/bin/
|
|
chmod +x $out/bin/easycommit
|
|
'';
|
|
})
|
|
];
|
|
|
|
home.file = {
|
|
};
|
|
# Home Manager can also manage your environment variables through
|
|
# 'home.sessionVariables'. If you don't want to manage your shell through Home
|
|
# Manager then you have to manually source 'hm-session-vars.sh' located at
|
|
# either
|
|
#
|
|
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
|
|
#
|
|
# or
|
|
#
|
|
# /etc/profiles/per-user/nx2/etc/profile.d/hm-session-vars.sh
|
|
#
|
|
|
|
xdg = {
|
|
enable = true;
|
|
configHome = /home/${user}/.config;
|
|
cacheHome = /home/${user}/.cache;
|
|
dataHome = /home/${user}/.local/share;
|
|
stateHome = /home/${user}/.local/state;
|
|
mimeApps = {
|
|
enable = true;
|
|
defaultApplications = {
|
|
"default-web-browser" = [ "firefox.desktop" ];
|
|
"text/html" = [ "firefox.desktop" ];
|
|
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
|
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
|
"x-scheme-handler/about" = [ "firefox.desktop" ];
|
|
"x-scheme-handler/unknown" = [ "firefox.desktop" ];
|
|
"image/png" = "imv.desktop";
|
|
"image/gif" = "imv.desktop";
|
|
};
|
|
};
|
|
};
|
|
# Wayland, X, etc. support for session vars
|
|
# systemd.user.sessionVariables = home.sessionVariables;
|
|
|
|
# Let Home Manager install and manage itself.
|
|
programs.home-manager.enable = true;
|
|
}
|