2024-02-29 22:20:26 -05:00
|
|
|
{
|
|
|
|
|
config,
|
|
|
|
|
pkgs,
|
|
|
|
|
inputs,
|
2024-04-21 16:58:08 -04:00
|
|
|
lib,
|
2024-02-29 22:20:26 -05:00
|
|
|
...
|
2024-04-22 11:39:35 -04:00
|
|
|
}: let
|
|
|
|
|
spicePkgs = inputs.spicetify-nix.packages.${pkgs.system}.default;
|
|
|
|
|
in {
|
2024-02-29 22:20:26 -05:00
|
|
|
imports = [
|
2024-03-01 14:49:11 -05:00
|
|
|
./swayidle.nix
|
2024-03-19 16:57:32 -04:00
|
|
|
./vim/default.nix
|
2024-04-27 17:42:50 -04:00
|
|
|
./firefox.nix
|
2024-03-01 14:49:11 -05:00
|
|
|
|
2024-04-28 20:50:20 -04:00
|
|
|
../rice/ags
|
2024-04-18 10:36:08 -04:00
|
|
|
../rice/hyprland
|
|
|
|
|
# ../rice/sway
|
2024-04-01 16:13:47 -04:00
|
|
|
../rice/gtk.nix
|
2024-02-29 23:21:26 -05:00
|
|
|
../rice/kitty.nix
|
2024-04-28 20:50:20 -04:00
|
|
|
# ../rice/waybar
|
|
|
|
|
# ../rice/dunst.nix
|
2024-04-28 21:34:12 -04:00
|
|
|
../rice/anyrun
|
2024-03-24 14:21:45 -04:00
|
|
|
../rice/rio.nix
|
2024-03-01 15:00:43 -05:00
|
|
|
../rice/wofi.nix
|
2024-02-29 22:41:27 -05:00
|
|
|
../shell
|
2024-04-17 16:07:28 -04:00
|
|
|
|
2024-04-22 11:39:35 -04:00
|
|
|
inputs.spicetify-nix.homeManagerModule
|
2024-04-17 16:07:28 -04:00
|
|
|
inputs.catppuccin.homeManagerModules.catppuccin
|
2024-02-29 22:20:26 -05:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
nixpkgs = {
|
|
|
|
|
config = {
|
|
|
|
|
allowUnfree = true;
|
|
|
|
|
allowUnfreePredicate = _: true;
|
|
|
|
|
};
|
2024-03-20 13:45:01 -04:00
|
|
|
overlays = [
|
|
|
|
|
inputs.neovim-nightly-overlay.overlay
|
|
|
|
|
];
|
2024-02-29 22:20:26 -05:00
|
|
|
};
|
|
|
|
|
|
2024-04-17 16:07:28 -04:00
|
|
|
gtk.catppuccin.cursor.enable = false;
|
|
|
|
|
|
2024-03-05 18:49:22 -05:00
|
|
|
nix.gc = {
|
|
|
|
|
automatic = true;
|
|
|
|
|
frequency = "weekly";
|
|
|
|
|
options = "--delete-older-than 30d";
|
|
|
|
|
};
|
|
|
|
|
|
2024-04-17 16:16:21 -04:00
|
|
|
catppuccin.flavour = "mocha";
|
2024-04-22 11:39:35 -04:00
|
|
|
programs.spicetify = {
|
|
|
|
|
enable = true;
|
|
|
|
|
theme = spicePkgs.themes.catppuccin;
|
|
|
|
|
colorScheme = "mocha";
|
|
|
|
|
|
|
|
|
|
enabledExtensions = with spicePkgs.extensions; [
|
|
|
|
|
fullAppDisplay
|
|
|
|
|
shuffle # shuffle+ (special characters are sanitized out of ext names)
|
|
|
|
|
hidePodcasts
|
|
|
|
|
];
|
|
|
|
|
};
|
2024-04-22 23:55:49 -04:00
|
|
|
|
2024-03-06 11:46:02 -05:00
|
|
|
xdg.mimeApps.defaultApplications = {
|
2024-03-11 16:15:26 -04:00
|
|
|
"text/html" = "firefox.desktop";
|
|
|
|
|
"x-scheme-handler/http" = "firefox.desktop";
|
|
|
|
|
"x-scheme-handler/https" = "firefox.desktop";
|
2024-03-06 11:46:02 -05:00
|
|
|
};
|
|
|
|
|
|
2024-02-29 22:20:26 -05:00
|
|
|
# This value determines the Home Manager release that your configuration is
|
|
|
|
|
# compatible with. This helps avoid breakage when a new Home Manager release
|
|
|
|
|
# introduces backwards incompatible changes.
|
|
|
|
|
#
|
|
|
|
|
# You should not change this value, even if you update Home Manager. If you do
|
|
|
|
|
# want to update the value, then make sure to first check the Home Manager
|
|
|
|
|
# release notes.
|
|
|
|
|
home.stateVersion = "23.11"; # Please read the comment before changing it.
|
|
|
|
|
|
|
|
|
|
home.packages = [
|
|
|
|
|
pkgs.wofi
|
2024-02-29 22:31:06 -05:00
|
|
|
pkgs.dconf
|
2024-02-29 23:51:18 -05:00
|
|
|
pkgs.wl-clipboard
|
2024-02-29 23:59:37 -05:00
|
|
|
pkgs.swaybg
|
2024-03-01 11:02:53 -05:00
|
|
|
pkgs.pavucontrol
|
2024-03-01 14:42:48 -05:00
|
|
|
pkgs.wlogout
|
2024-03-02 14:59:25 -05:00
|
|
|
pkgs.sway-audio-idle-inhibit
|
2024-03-03 22:09:16 -05:00
|
|
|
pkgs.hyprshot
|
2024-03-13 16:34:35 -04:00
|
|
|
|
2024-04-17 20:52:27 -04:00
|
|
|
pkgs.nix-output-monitor
|
|
|
|
|
|
2024-04-17 18:15:54 -04:00
|
|
|
pkgs.nh
|
|
|
|
|
|
2024-03-24 18:01:59 -04:00
|
|
|
pkgs.killall
|
2024-03-01 11:58:14 -05:00
|
|
|
(pkgs.writeShellScriptBin "rebuild" ''
|
2024-03-15 14:03:50 -04:00
|
|
|
#!${pkgs.bash}/bin/bash
|
2024-03-01 11:58:14 -05:00
|
|
|
set -e
|
|
|
|
|
pushd ~/nixos/
|
|
|
|
|
alejandra . &>/dev/null
|
|
|
|
|
git add .
|
|
|
|
|
echo "[REBUILD]: rebuilding nixos"
|
2024-04-17 20:52:27 -04:00
|
|
|
nh os switch
|
2024-03-01 11:58:14 -05:00
|
|
|
gen=$(nixos-rebuild list-generations | grep current)
|
|
|
|
|
git commit -am "$gen"
|
|
|
|
|
git push origin main
|
|
|
|
|
popd
|
|
|
|
|
'')
|
2024-04-28 21:34:12 -04:00
|
|
|
(pkgs.writeShellScriptBin "powermenu" ''
|
|
|
|
|
chosen=$(printf " Power Off\n Restart\n Suspend\n Lock\n Log Out" | anyrun --plugins libstdin.so --show-results-immediately true)
|
|
|
|
|
|
|
|
|
|
case "$chosen" in
|
|
|
|
|
" Power Off") systemctl poweroff;;
|
|
|
|
|
" Restart") systemctl reboot;;
|
|
|
|
|
" Lock") swaylock;;
|
|
|
|
|
" Log Out") hyprctl dispatch exit;;
|
|
|
|
|
*) exit 1 ;;
|
|
|
|
|
esac
|
|
|
|
|
'')
|
2024-02-29 22:20:26 -05:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
home.sessionVariables = {
|
|
|
|
|
EDITOR = "nvim";
|
|
|
|
|
};
|
|
|
|
|
|
2024-04-17 16:14:57 -04:00
|
|
|
xdg.enable = true;
|
|
|
|
|
|
2024-03-01 13:54:25 -05:00
|
|
|
programs.zoxide = {
|
|
|
|
|
enable = true;
|
|
|
|
|
enableZshIntegration = true;
|
|
|
|
|
options = ["--cmd cd"];
|
|
|
|
|
};
|
|
|
|
|
|
2024-04-17 16:14:57 -04:00
|
|
|
programs.btop = {
|
|
|
|
|
enable = true;
|
|
|
|
|
catppuccin.enable = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
programs.lazygit = {
|
|
|
|
|
enable = true;
|
|
|
|
|
catppuccin.enable = true;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
programs.fzf = {
|
|
|
|
|
enable = true;
|
|
|
|
|
catppuccin.enable = true;
|
|
|
|
|
};
|
2024-04-17 15:45:55 -04:00
|
|
|
|
2024-04-21 16:58:08 -04:00
|
|
|
systemd.user.services.xwaylandvideobridge = {
|
|
|
|
|
Unit = {
|
|
|
|
|
Description = "Tool to make it easy to stream wayland windows and screens to exisiting applications running under Xwayland";
|
|
|
|
|
};
|
|
|
|
|
Service = {
|
|
|
|
|
Type = "simple";
|
|
|
|
|
ExecStart = lib.getExe pkgs.xwaylandvideobridge;
|
|
|
|
|
Restart = "on-failure";
|
|
|
|
|
};
|
|
|
|
|
Install = {
|
2024-04-21 16:59:07 -04:00
|
|
|
WantedBy = ["default.target"];
|
2024-04-21 16:58:08 -04:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2024-03-19 15:53:01 -04:00
|
|
|
# programs.nixvim = ./vim.nix;
|
2024-02-29 22:20:26 -05:00
|
|
|
|
|
|
|
|
# Let Home Manager install and manage itself.
|
|
|
|
|
programs.home-manager.enable = true;
|
|
|
|
|
}
|