271 lines
6.2 KiB
Nix
271 lines
6.2 KiB
Nix
{
|
|
inputs,
|
|
outputs,
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
palette-hex = pkgs.lib.nix-rice.palette.toRgbHex pkgs.rice.palette;
|
|
palette-shex = pkgs.lib.nix-rice.palette.toRGBShortHex pkgs.rice.palette;
|
|
in {
|
|
home.stateVersion = "22.11";
|
|
|
|
imports = [
|
|
./programs/helix.nix
|
|
./programs/firefox.nix
|
|
./programs/kitty.nix
|
|
./programs/zsh.nix
|
|
./util/ez.nix
|
|
./util/firefox-webapp.nix
|
|
inputs.plasma-manager.homeManagerModules.plasma-manager
|
|
./programs/plasma.nix
|
|
inputs.nix-index-database.hmModules.nix-index
|
|
];
|
|
|
|
nix.gc = {
|
|
automatic = true;
|
|
frequency = "weekly";
|
|
options = "--delete-older-than 7d";
|
|
};
|
|
|
|
home.packages = with pkgs;
|
|
[
|
|
thunderbird
|
|
strawberry
|
|
inkscape
|
|
|
|
imv
|
|
|
|
zathura
|
|
|
|
btop
|
|
bat
|
|
ripgrep
|
|
fd
|
|
lazygit
|
|
fzf
|
|
zoxide
|
|
zellij
|
|
|
|
libnotify
|
|
playerctl
|
|
|
|
kooha
|
|
|
|
croc
|
|
|
|
xorg.xrdb
|
|
culr
|
|
|
|
tuxguitar
|
|
|
|
# kdeconnect
|
|
plasma-browser-integration
|
|
keepassxc
|
|
git-credential-keepassxc
|
|
|
|
direnv
|
|
|
|
mpv
|
|
|
|
gtk-engine-murrine
|
|
polonium-pkgs.pkgs.plasma5Packages.polonium
|
|
]
|
|
++ pkgs.rice.fonts.pkgs
|
|
++ pkgs.rice.icons.pkgs;
|
|
|
|
systemd.user.targets.tray = {
|
|
Unit = {
|
|
Description = "Home Manager System Tray";
|
|
Requires = ["graphical-session-pre.target"];
|
|
};
|
|
};
|
|
|
|
fonts.fontconfig.enable = true;
|
|
|
|
services.syncthing = {
|
|
enable = true;
|
|
};
|
|
|
|
services.udiskie.enable = true;
|
|
|
|
services.flatpak = {
|
|
enable = true;
|
|
uninstallUnmanaged = true;
|
|
update.auto.enable = true;
|
|
packages = [
|
|
"md.obsidian.Obsidian"
|
|
"org.onlyoffice.desktopeditors"
|
|
];
|
|
overrides = {
|
|
global = {
|
|
Context.sockets = ["wayland"];
|
|
Environment = {
|
|
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
|
};
|
|
};
|
|
"md.obsidian.Obsidian" = {
|
|
Environment = {
|
|
OBSIDIAN_DISABLE_GPU = "1";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.firefox.webapps = {
|
|
"Microsoft-Teams" = {
|
|
url = "https://teams.microsoft.com";
|
|
id = 1;
|
|
extraSettings = config.programs.firefox.profiles.default.settings;
|
|
name = "Microsoft Teams";
|
|
icon = ./icons/ms_teams.png;
|
|
};
|
|
"Facebook-Messenger" = {
|
|
url = "https://www.messenger.com";
|
|
id = 2;
|
|
extraSettings = config.programs.firefox.profiles.default.settings;
|
|
name = "Facebook Messenger";
|
|
icon = ./icons/fb_msg.png;
|
|
};
|
|
"ChatGPT" = {
|
|
url = "https://chat.openai.com";
|
|
id = 3;
|
|
extraSettings = config.programs.firefox.profiles.default.settings;
|
|
name = "ChatGPT";
|
|
icon = ./icons/ChatGPT.png;
|
|
};
|
|
"StudyTAFE" = {
|
|
url = "https://www.studytafensw.edu.au";
|
|
id = 4;
|
|
extraSettings = config.programs.firefox.profiles.default.settings;
|
|
name = "TAFE Study";
|
|
icon = ./icons/tafe.jpg;
|
|
};
|
|
};
|
|
|
|
programs.atuin = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
settings = {
|
|
inline_height = 20;
|
|
show_preview = true;
|
|
show_help = false;
|
|
enter_accept = false;
|
|
keymap_mode = "vim-normal";
|
|
style = "compact";
|
|
};
|
|
};
|
|
# programs.nix-index-database.comma.enable = true;
|
|
# programs.nix-index = {
|
|
# enable = true;
|
|
# enableZshIntegration = false;
|
|
# enableBashIntegration = false;
|
|
# };
|
|
# programs.command-not-found.enable = false;
|
|
# programs.nix-index.enable = true;
|
|
|
|
programs.vscode = {
|
|
enable = true;
|
|
extensions = with pkgs.vscode-extensions; [
|
|
rust-lang.rust-analyzer
|
|
serayuzgur.crates
|
|
jnoortheen.nix-ide
|
|
arrterian.nix-env-selector
|
|
mkhl.direnv
|
|
# silverquark.dancehelix
|
|
# gregoire.dance
|
|
];
|
|
mutableExtensionsDir = true;
|
|
userSettings = {
|
|
"window.titleBarStyle" = "custom";
|
|
"editor.fontFamily" = "${pkgs.rice.fonts.monospace.name}";
|
|
"editor.fontSize" = 12;
|
|
"workbench.colorTheme" = "KanagawaTheme";
|
|
"rust-analyzer.check.overrideCommand" = "clippy";
|
|
"rust-analyzer.debug.engine" = "vadimcn.vscode-lldb";
|
|
"rust-analyzer.inlayHints.chainingHints.enable" = false;
|
|
"rust-analyzer.inlayHints.parameterHints.enable" = false;
|
|
"rust-analyzer.inlayHints.typeHints.enable" = false;
|
|
};
|
|
};
|
|
|
|
systemd.user.startServices = "sd-switch";
|
|
ezServices = with pkgs; {
|
|
ckb-next = "${lib.getExe ckb-next} -c -b";
|
|
# swaybg = "${lib.getExe swaybg} -i ${rice.bg.image} -m fill";
|
|
# # swayosd = "${lib.getExe' swayosd "swayosd"} --max-volume 100";
|
|
};
|
|
|
|
xdg.enable = true;
|
|
xresources.properties = with palette-hex; {
|
|
"*.foreground" = util.fg;
|
|
"*.background" = util.bg;
|
|
"*.cursorColor" = util.cursor;
|
|
"*.selection_foreground" = util.fg_sel;
|
|
"*.selection_background" = util.bg_sel;
|
|
"*.color0" = normal.black;
|
|
"*.color1" = normal.red;
|
|
"*.color2" = normal.green;
|
|
"*.color3" = normal.yellow;
|
|
"*.color4" = normal.blue;
|
|
"*.color5" = normal.magenta;
|
|
"*.color6" = normal.cyan;
|
|
"*.color7" = normal.white;
|
|
"*.color8" = bright.black;
|
|
"*.color9" = bright.red;
|
|
"*.color10" = bright.green;
|
|
"*.color11" = bright.yellow;
|
|
"*.color12" = bright.blue;
|
|
"*.color13" = bright.magenta;
|
|
"*.color14" = bright.cyan;
|
|
"*.color15" = bright.white;
|
|
};
|
|
|
|
xdg.systemDirs.data = [
|
|
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}"
|
|
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
|
|
];
|
|
|
|
# gtk = with pkgs.rice; {
|
|
# enable = true;
|
|
# theme = with gtk-theme; {
|
|
# inherit package name;
|
|
# };
|
|
# iconTheme = with icons; {
|
|
# inherit package name;
|
|
# };
|
|
# font = with fonts.sans; {
|
|
# inherit name size package;
|
|
# };
|
|
# };
|
|
|
|
programs.direnv = {
|
|
enable = true;
|
|
nix-direnv = {
|
|
enable = true;
|
|
};
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "atagen";
|
|
userEmail = "atagen@boss.co";
|
|
extraConfig = {
|
|
credential.helper = "keepassxc";
|
|
};
|
|
};
|
|
|
|
# programs.fzf = {
|
|
# enable = true;
|
|
# enableZshIntegration = true;
|
|
# colors = with palette-hex; {
|
|
# fg = util.fg;
|
|
# bg = util.bg;
|
|
# hl = util.bg_sel;
|
|
# "fg+" = util.fg_sel;
|
|
# "bg+" = util.bg_sel;
|
|
# "hl+" = bright.green;
|
|
# };
|
|
# };
|
|
}
|