174 lines
4.1 KiB
Nix
174 lines
4.1 KiB
Nix
{ config, ... }:
|
|
|
|
{
|
|
imports =
|
|
[
|
|
<home-manager/nixos>
|
|
];
|
|
|
|
# Define a user account. Don't forget to set a password with 'passwd'.
|
|
users.users.matt = {
|
|
isNormalUser = true;
|
|
extraGroups = [ "wheel" "input" "adm" "mlocate" "video" ];
|
|
# packages = with pkgs; [
|
|
# firefox
|
|
# tree
|
|
# ];
|
|
};
|
|
|
|
home-manager.useGlobalPkgs = true;
|
|
programs.dconf.enable = true;
|
|
|
|
home-manager.users.matt = { config, pkgs, lib, ... }: let
|
|
flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz";
|
|
|
|
hyprland = (import flake-compat {
|
|
# I use release version for plugin support
|
|
src = builtins.fetchTarball "https://github.com/hyprwm/Hyprland/archive/v0.26.0.tar.gz";
|
|
}).defaultNix;
|
|
|
|
in {
|
|
programs.waybar = {
|
|
enable = true;
|
|
package = pkgs.waybar.overrideAttrs (oldAttrs: {
|
|
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
|
|
});
|
|
};
|
|
|
|
home.packages = with pkgs;
|
|
(with xorg; [
|
|
xcursorthemes
|
|
|
|
]) ++
|
|
(with python311Packages; [
|
|
python
|
|
pyclip
|
|
|
|
]) ++
|
|
(with plasma5Packages; [
|
|
polkit-kde-agent
|
|
qtstyleplugin-kvantum
|
|
breeze-icons
|
|
dolphin
|
|
dolphin-plugins
|
|
ffmpegthumbs
|
|
kio-admin # needs to be both here and in system pkgs
|
|
ark
|
|
kcharselect
|
|
#kdenlive
|
|
kmime
|
|
okular
|
|
|
|
]) ++
|
|
(with gnome; [
|
|
gnome-calculator
|
|
seahorse
|
|
adwaita-icon-theme
|
|
|
|
]) ++
|
|
[
|
|
swayosd
|
|
httrack
|
|
lisgd
|
|
zeal
|
|
acpi
|
|
libreoffice-fresh # TODO: add spelling stuff
|
|
neofetch
|
|
photoqt
|
|
progress
|
|
wl-color-picker # add bind for this in hyprland
|
|
xclip
|
|
xdg-utils
|
|
pavucontrol # TODO: open on left click
|
|
gimp-with-plugins
|
|
jdk8_headless
|
|
bluez-tools
|
|
spotify
|
|
#spotifywm # fails to build
|
|
spicetify-cli # TODO
|
|
vlc
|
|
discord
|
|
alacritty
|
|
brightnessctl
|
|
pulseaudio
|
|
alsa-utils
|
|
wget
|
|
firefox
|
|
tree
|
|
mosh
|
|
rsync
|
|
killall
|
|
jq # enable using home-manager?
|
|
ripgrep-all
|
|
hyprpaper
|
|
rofi-wayland
|
|
networkmanagerapplet
|
|
nextcloud-client
|
|
tutanota-desktop
|
|
galaxy-buds-client
|
|
swaynotificationcenter
|
|
swayidle
|
|
wl-clipboard
|
|
cliphist
|
|
gtklock
|
|
gtklock-playerctl-module
|
|
gtklock-powerbar-module
|
|
grim
|
|
slurp
|
|
swappy
|
|
neovim
|
|
fontfor
|
|
qt5ct
|
|
lxappearance
|
|
imagemagick
|
|
usbutils
|
|
catppuccin-plymouth
|
|
evtest
|
|
squeekboard
|
|
glib
|
|
appimage-run
|
|
gparted # doesn't open without sudo
|
|
(writeShellScriptBin "Gparted" ''
|
|
(
|
|
sleep 0.5
|
|
while killall -r -0 ksshaskpass > /dev/null 2>&1
|
|
do
|
|
sleep 0.1
|
|
if [[ $(hyprctl activewindow | grep Ksshaskpas) == "" ]]; then
|
|
killall -r ksshaskpass
|
|
fi
|
|
done
|
|
) &
|
|
|
|
exec sudo -k -EA '${gparted}/bin/${gparted.pname}' "$@"
|
|
'')
|
|
];
|
|
|
|
home.sessionVariables = {
|
|
XDG_DATA_DIRS = "${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:\$XDG_DATA_DIRS";
|
|
SUDO_ASKPASS= "${pkgs.plasma5Packages.ksshaskpass}/bin/${pkgs.plasma5Packages.ksshaskpass.pname}";
|
|
};
|
|
|
|
imports = [
|
|
hyprland.homeManagerModules.default
|
|
];
|
|
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
|
|
plugins = with pkgs; [
|
|
/nix/store/60x0zlg3fbq7nzz8249fxsb89pn541z8-hyprland-touch-gestures-0.3.0/lib/libtouch-gestures.so
|
|
];
|
|
|
|
extraConfig = ''
|
|
exec-once = ${pkgs.plasma5Packages.polkit-kde-agent}/libexec/polkit-kde-authentication-agent-1
|
|
source = ~/.config/hypr/main.conf
|
|
env = XDG_DATA_DIRS, ${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:$XDG_DATA_DIRS
|
|
env = SUDO_ASKPASS, ${pkgs.plasma5Packages.ksshaskpass}/bin/${pkgs.plasma5Packages.ksshaskpass.pname}
|
|
|
|
'';
|
|
};
|
|
|
|
home.stateVersion = "23.05";
|
|
};
|
|
}
|