first phase of flake conversion
This commit is contained in:
parent
1b47e24cb0
commit
2ea78bdd47
53 changed files with 491 additions and 50 deletions
284
flake/home/home.nix
Normal file
284
flake/home/home.nix
Normal file
|
@ -0,0 +1,284 @@
|
|||
{ 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 = {
|
||||
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
|
||||
fuzzel
|
||||
grim
|
||||
slurp
|
||||
swaybg
|
||||
wlogout
|
||||
wf-recorder
|
||||
libnotify
|
||||
xorg.xrdb
|
||||
swayidle
|
||||
swaynotificationcenter
|
||||
# swayosd
|
||||
waylock
|
||||
playerctl
|
||||
|
||||
kdeconnect
|
||||
syncthing
|
||||
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-s76}/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 pkgs.nur.repos.rycee.firefox-addons; [
|
||||
vimium-c
|
||||
darkreader
|
||||
localcdn
|
||||
ublock-origin
|
||||
plasma-integration
|
||||
keepassxc-browser
|
||||
user-agent-string-switcher
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs.helix.enable = true;
|
||||
programs.helix.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";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue