296 lines
6.5 KiB
Nix
296 lines
6.5 KiB
Nix
{
|
|
inputs,
|
|
outputs,
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
...
|
|
}: let
|
|
wlogout_style_base = dots/wlogout/style.css;
|
|
wlogout_style = pkgs.runCommandLocal "wlogout_style_base" {wlogpath = lib.strings.escape ["/"] "${pkgs.wlogout}";} ''
|
|
cp ${wlogout_style_base} $out
|
|
sed -i "s/\/usr\/share\/wlogout/$wlogpath\/share\/wlogout/g" $out
|
|
sed -i "s/\/etc\/wlogout/$wlogpath\/etc\/wlogout/g" $out
|
|
'';
|
|
in {
|
|
imports = [
|
|
inputs.hyprland.homeManagerModules.default
|
|
./programs/eww/default.nix
|
|
];
|
|
|
|
nixpkgs = {
|
|
overlays = [
|
|
outputs.overlays.additions
|
|
outputs.overlays.unstable-pkgs
|
|
];
|
|
config = {
|
|
allowUnfree = true;
|
|
allowUnfreePredicate = _: true;
|
|
};
|
|
};
|
|
|
|
home.stateVersion = "22.11";
|
|
|
|
home.packages = with pkgs; [
|
|
thunderbird
|
|
clementine
|
|
inkscape
|
|
|
|
btop
|
|
bat
|
|
joshuto
|
|
ripgrep
|
|
fd
|
|
lazygit
|
|
fzf
|
|
zoxide
|
|
zellij
|
|
glib # for gsettings
|
|
grim
|
|
slurp
|
|
swaybg
|
|
wlogout
|
|
wf-recorder
|
|
libnotify
|
|
xorg.xrdb
|
|
swayidle
|
|
swaynotificationcenter
|
|
waylock
|
|
playerctl
|
|
|
|
culr
|
|
swayosd
|
|
fuzzel
|
|
|
|
kdeconnect
|
|
syncthing
|
|
keepassxc
|
|
git-credential-keepassxc
|
|
|
|
direnv
|
|
|
|
mpv
|
|
|
|
meslo-lgs-nf
|
|
|
|
libsForQt5.qtstyleplugin-kvantum
|
|
|
|
gtk-engine-murrine
|
|
];
|
|
|
|
services.syncthing = {
|
|
enable = true;
|
|
};
|
|
|
|
wayland.windowManager.hyprland = {
|
|
enable = true;
|
|
systemdIntegration = true;
|
|
nvidiaPatches = true;
|
|
xwayland = {
|
|
enable = true;
|
|
hidpi = false;
|
|
};
|
|
recommendedEnvironment = true;
|
|
extraConfig = builtins.readFile dots/hyprland/hyprland.conf;
|
|
};
|
|
|
|
programs.eww-hyprland = {
|
|
enable = true;
|
|
colors = builtins.readFile dots/eww/colors.scss;
|
|
};
|
|
|
|
systemd.user.startServices = "sd-switch";
|
|
systemd.user.services."hyprland-system76" = {
|
|
Unit = {
|
|
Description = "the hyprland process scheduler hook";
|
|
Requires = ["dbus.service"];
|
|
};
|
|
Install = {
|
|
WantedBy = ["graphical-session.target" "default.target"];
|
|
};
|
|
Service = {
|
|
ExecStart = ''${pkgs.hyprland-system76-scheduler-integration}/bin/hyprland-system76-scheduler-hook.sh'';
|
|
};
|
|
};
|
|
|
|
xresources.extraConfig = builtins.readFile ./dots/Xresources;
|
|
|
|
xdg.enable = true;
|
|
xdg.configFile =
|
|
builtins.mapAttrs (name: value: {
|
|
enable = true;
|
|
text = builtins.readFile value;
|
|
})
|
|
{
|
|
"wlogout/layout" = dots/wlogout/layout;
|
|
"wlogout/style.css" = wlogout_style;
|
|
"swaync/config.json" = dots/swaync/config.json;
|
|
"swaync/configSchema.json" = dots/swaync/configSchema.json;
|
|
"swaync/style.css" = dots/swaync/style.css;
|
|
"fuzzel/fuzzel.ini" = dots/fuzzel/fuzzel.ini;
|
|
};
|
|
|
|
xdg.systemDirs.data = [
|
|
"${pkgs.gtk3}/share/gsettings-schemas/${pkgs.gtk3.name}"
|
|
"${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
|
|
];
|
|
|
|
home.sessionVariables = {
|
|
GTK_THEME = "Sweet-Dark";
|
|
};
|
|
|
|
gtk = {
|
|
enable = true;
|
|
theme = {
|
|
package = pkgs.sweet;
|
|
name = "Sweet-Dark";
|
|
};
|
|
iconTheme = {
|
|
package = pkgs.papirus-icon-theme;
|
|
name = "Papirus-Dark";
|
|
};
|
|
};
|
|
|
|
programs.direnv = {
|
|
enable = true;
|
|
nix-direnv = {
|
|
enable = true;
|
|
};
|
|
};
|
|
|
|
programs.firefox = {
|
|
enable = true;
|
|
profiles.default = {
|
|
id = 0;
|
|
name = "Default";
|
|
settings = {
|
|
"browser.startup.homepage" = "about:blank";
|
|
};
|
|
extensions = with config.nur.repos.rycee.firefox-addons; [
|
|
vimium-c
|
|
darkreader
|
|
localcdn
|
|
ublock-origin
|
|
keepassxc-browser
|
|
user-agent-string-switcher
|
|
];
|
|
};
|
|
};
|
|
|
|
programs.helix = {
|
|
enable = true;
|
|
# package = inputs.helix.packages.${pkgs.hostPlatform.system}.default;
|
|
settings = {
|
|
theme = "gruvbox_dark_hard";
|
|
editor.lsp.display-messages = true;
|
|
};
|
|
};
|
|
|
|
programs.kitty = {
|
|
enable = true;
|
|
font = {
|
|
name = "Ellograph CF";
|
|
size = 10;
|
|
};
|
|
settings = {
|
|
foreground = "#d3dae3";
|
|
background = "#060604";
|
|
cursor = "#d3dae3";
|
|
selection_foreground = "#fdbc4b";
|
|
selection_background = "#1e2233";
|
|
color0 = "#2f343f";
|
|
color1 = "#ed244e";
|
|
color2 = "#27ae60";
|
|
color3 = "#f67400";
|
|
color4 = "#2980b9";
|
|
color5 = "#c50ed2";
|
|
color6 = "#3daee9";
|
|
color7 = "#a1a9b1";
|
|
color8 = "#1e2233";
|
|
color9 = "#da4453";
|
|
color10 = "#71f79f";
|
|
color11 = "#fdbc4b";
|
|
color12 = "#1d99f3";
|
|
color13 = "#9b59b6";
|
|
color14 = "#5294e2";
|
|
color15 = "#656a73";
|
|
};
|
|
};
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userName = "atagen";
|
|
userEmail = "atagen@boss.co";
|
|
extraConfig = {
|
|
credential.helper = "keepassxc";
|
|
};
|
|
};
|
|
|
|
programs.fzf = {
|
|
enable = true;
|
|
enableZshIntegration = true;
|
|
};
|
|
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableAutosuggestions = true;
|
|
enableCompletion = true;
|
|
enableSyntaxHighlighting = true;
|
|
enableVteIntegration = true;
|
|
autocd = true;
|
|
defaultKeymap = "viins";
|
|
initExtra = builtins.readFile ./dots/zsh;
|
|
plugins = [
|
|
{
|
|
name = "powerlevel10k";
|
|
src = pkgs.zsh-powerlevel10k;
|
|
file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
|
|
}
|
|
{
|
|
name = "zsh-vi-mode";
|
|
src = pkgs.zsh-vi-mode;
|
|
file = "share/zsh-vi-mode/zsh-vi-mode.zsh";
|
|
}
|
|
{
|
|
name = "zsh-autopair";
|
|
src = pkgs.zsh-autopair;
|
|
file = "share/zsh-autopair/zsh-autopair.zsh";
|
|
}
|
|
{
|
|
name = "zsh-completions";
|
|
src = pkgs.zsh-completions;
|
|
file = "share/zsh-completions/zsh-completions.zsh";
|
|
}
|
|
{
|
|
name = "zsh-command-time";
|
|
src = pkgs.zsh-command-time;
|
|
file = "share/zsh-completions/zsh-command-time.zsh";
|
|
}
|
|
{
|
|
name = "zsh-autocomplete";
|
|
src = pkgs.zsh-autocomplete;
|
|
file = "share/zsh-autocomplete/zsh-autocomplete.zsh";
|
|
}
|
|
{
|
|
name = "zsh-fast-syntax-highlighting";
|
|
src = pkgs.zsh-fast-syntax-highlighting;
|
|
file = "share/zsh-fast-syntax-highlighting/zsh-fast-syntax-highlighting.zsh";
|
|
}
|
|
{
|
|
name = "zsh-nix-shell";
|
|
src = pkgs.zsh-nix-shell;
|
|
file = "share/zsh-nix-shell/zsh-nix-shell.zsh";
|
|
}
|
|
{
|
|
name = "any-nix-shell";
|
|
src = pkgs.any-nix-shell;
|
|
file = "share/any-nix-shell/any-nix-shell.zsh";
|
|
}
|
|
{
|
|
name = "nix-zsh-completions";
|
|
src = pkgs.nix-zsh-completions;
|
|
file = "share/nix-zsh-completions/nix-zsh-completions.zsh";
|
|
}
|
|
];
|
|
};
|
|
}
|