Compare commits
22 Commits
5244b334b9
...
157df76509
| Author | SHA1 | Date | |
|---|---|---|---|
| 157df76509 | |||
| cddfb44053 | |||
| 099eb5d68f | |||
| 6946c79bfd | |||
| 7b4ea6ff47 | |||
| 5976a3d1a1 | |||
| f1f74b1fae | |||
| d51e05efdc | |||
| d4e052a0de | |||
| 755375e8d3 | |||
| 9be8f063b6 | |||
| 2943a20033 | |||
| d8f588babd | |||
| 9d9d842da3 | |||
| bc0e848888 | |||
| 3f19de6ae0 | |||
| 505c95646a | |||
| 6ea59f7417 | |||
| 53dae84520 | |||
| 1a84342738 | |||
| 04118389ad | |||
| 45dd985cd1 |
+450
-432
File diff suppressed because it is too large
Load Diff
+87
-120
@@ -551,34 +551,41 @@ The ./generated/top.nix file acts as an anchor or entry point for the entire cha
|
|||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
user,
|
user,
|
||||||
inputs,
|
|
||||||
flakeRoot,
|
flakeRoot,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
hyprlandConf = builtins.readFile (flakeRoot + "/assets/hyprland/conf/hyprland.conf");
|
hyprlandConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/hypr";
|
||||||
userConfig = import (flakeRoot + "/assets/flake/users/henrov.nix");
|
# Dynamically read all files in assets/hyprland/conf/
|
||||||
|
hyprlandConfs =
|
||||||
|
lib.genAttrs (builtins.attrNames (builtins.readDir "${flakeRoot}/assets/hyprland/conf"))
|
||||||
|
(name: {
|
||||||
|
text = builtins.readFile "${flakeRoot}/assets/hyprland/conf/${name}";
|
||||||
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Nix settings to use Hyprland's cache for packages
|
# NixOS: Enable Hyprland (optional)
|
||||||
nix.settings = {
|
|
||||||
substituters = [ "https://hyprland.cachix.org" ];
|
|
||||||
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Install Hyprland and enable it as the window manager
|
|
||||||
environment.systemPackages = with pkgs; [ hyprland ];
|
|
||||||
programs.hyprland = {
|
programs.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Hyprland-specific Home Manager configurations
|
# Home Manager: Hyprland-specific configurations
|
||||||
home-manager.users.${user.username} = {
|
home-manager.users.${user.username} = {
|
||||||
home.stateVersion = userConfig.stateVersion;
|
# Use config.home-manager.users.${user.username} instead of userConfig
|
||||||
home.username = userConfig.username;
|
home.stateVersion = config.home-manager.users.${user.username}.stateVersion or "23.11"; # Default fallback
|
||||||
home.homeDirectory = userConfig.homeDirectory;
|
home.username = user.username; # Use the 'user' argument
|
||||||
xdg.configFile."hypr/hyprland.conf".text = hyprlandConf;
|
home.homeDirectory =
|
||||||
|
config.home-manager.users.${user.username}.homeDirectory or "/home/${user.username}";
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Merge dynamic Hyprland configs with existing xdg.configFile
|
||||||
|
xdg.configFile = {
|
||||||
|
# Your existing manual configs (if any)
|
||||||
|
}
|
||||||
|
// hyprlandConfs;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -826,12 +833,54 @@ This is top file of this level which contains just an import statement for all r
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
# No subfolders to import
|
./wofi.nix
|
||||||
];
|
];
|
||||||
# .. put any code here
|
# .. put any code here
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
** =generated/hyprland/task_launcher/wofi.nix=
|
||||||
|
This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
|
||||||
|
#+BEGIN_SRC nix :tangle generated/hyprland/task_launcher/wofi.nix :noweb tangle :mkdirp yes :eval never-html
|
||||||
|
{ config, pkgs, lib, user, flakeRoot, ... }:
|
||||||
|
let
|
||||||
|
xdgDataHome = config.home-manager.users.${user.username}.xdg.dataHome;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# NixOS: Install Wofi system-wide (optional)
|
||||||
|
environment.systemPackages = with pkgs; [ wofi ];
|
||||||
|
|
||||||
|
# Home Manager: User-specific Wofi config
|
||||||
|
home-manager.users.${user.username} = {
|
||||||
|
# Install Wofi for the user
|
||||||
|
home.packages = with pkgs; [ wofi ];
|
||||||
|
|
||||||
|
# Wofi configuration
|
||||||
|
xdg.configFile."wofi/config".text = ''
|
||||||
|
dark
|
||||||
|
width=500
|
||||||
|
height=800
|
||||||
|
lines=10
|
||||||
|
columns=1
|
||||||
|
cache_dir=${xdgDataHome}/wofi
|
||||||
|
allow_images=true
|
||||||
|
allow_markup=true
|
||||||
|
show_drun=true
|
||||||
|
'';
|
||||||
|
/*
|
||||||
|
# Catppuccin Mocha theme for Wofi
|
||||||
|
xdg.configFile."wofi/style.css".source = pkgs.fetchFromGitHub {
|
||||||
|
owner = "catppuccin";
|
||||||
|
repo = "wofi";
|
||||||
|
rev = "d4c8c0a6b57e2e97a0d7b87e186322e933a8d9e0"; # Example commit hash (replace with a valid one)
|
||||||
|
sha256 = "sha256-0Rn9CKPm0v3rXlx7nyXD3QJ5Xq3XZvBwgqXzWmOyZkA="; # Replace with the correct hash
|
||||||
|
} + "/mocha.css"; # Correct file name
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
}
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
|
||||||
** =generated/hyprland/task_window_workspace_switcher/top.nix=
|
** =generated/hyprland/task_window_workspace_switcher/top.nix=
|
||||||
This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
|
This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
|
||||||
#+BEGIN_SRC nix :tangle generated/hyprland/task_window_workspace_switcher/top.nix :noweb tangle :mkdirp yes :eval never-html
|
#+BEGIN_SRC nix :tangle generated/hyprland/task_window_workspace_switcher/top.nix :noweb tangle :mkdirp yes :eval never-html
|
||||||
@@ -939,7 +988,7 @@ This is top file of this level which contains just an import statement for all r
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./wofi.nix
|
# No subfolders to import
|
||||||
];
|
];
|
||||||
# .. put any code here
|
# .. put any code here
|
||||||
}
|
}
|
||||||
@@ -950,34 +999,7 @@ This is top file of this level which contains just an import statement for all r
|
|||||||
#+BEGIN_SRC nix :tangle generated/mangowc/task_launcher/wofi.nix :noweb tangle :mkdirp yes :eval never-html
|
#+BEGIN_SRC nix :tangle generated/mangowc/task_launcher/wofi.nix :noweb tangle :mkdirp yes :eval never-html
|
||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
{
|
{
|
||||||
programs.wofi = {
|
# .. put any code here
|
||||||
enable = true;
|
|
||||||
wrapGtkApps = true; # Required for GTK theming
|
|
||||||
extraPackages = with pkgs; [ wofi ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Catppuccin theme for Wofi
|
|
||||||
home-manager.users.${user.username} = {
|
|
||||||
xdg.configFile."wofi/config".text = ''
|
|
||||||
dark
|
|
||||||
width=500
|
|
||||||
height=800
|
|
||||||
lines=10
|
|
||||||
columns=1
|
|
||||||
cache_dir=${config.xdg.dataHome}/wofi
|
|
||||||
allow_images=true
|
|
||||||
allow_markup=true
|
|
||||||
show_drun=true
|
|
||||||
'';
|
|
||||||
|
|
||||||
xdg.configFile."wofi/style.css".source = pkgs.fetchFromGitHub {
|
|
||||||
owner = "catppuccin";
|
|
||||||
repo = "wofi";
|
|
||||||
rev = "main";
|
|
||||||
sha256 = "sha256-0000000000000000000000000000000000000000000000000000"; # Update with the correct hash
|
|
||||||
file = "mocha.css"; # or latte/frappe/macchiato
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
@@ -1080,9 +1102,9 @@ This is top file of this level which contains just an import statement for all r
|
|||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** =generated/system/applications/terminal_shell/kitty.nix=
|
** =generated/system/applications/terminal_shell/kitty.nix=
|
||||||
This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
|
This file sets up Kitty terminal
|
||||||
#+BEGIN_SRC nix :tangle generated/system/applications/terminal_shell/kitty.nix :noweb tangle :mkdirp yes :eval never-html
|
#+BEGIN_SRC nix :tangle generated/system/applications/terminal_shell/kitty.nix :noweb tangle :mkdirp yes :eval never-html
|
||||||
{ config, pkgs, lib, user, ... }:
|
{ config, pkgs, lib, user, flakeRoot, ... }:
|
||||||
let
|
let
|
||||||
kittyConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/kitty";
|
kittyConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/kitty";
|
||||||
in
|
in
|
||||||
@@ -1090,87 +1112,27 @@ in
|
|||||||
home-manager.users.${user.username} = {
|
home-manager.users.${user.username} = {
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
|
||||||
font_family = "JetBrainsMono Nerd Font";
|
|
||||||
font_size = 12.0;
|
|
||||||
cursor = "Beam";
|
|
||||||
cursor_blink_interval = -1;
|
|
||||||
shell = "${pkgs.zsh}/bin/zsh";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Catppuccin Mocha theme for Kitty (embedded)
|
# Use the kitty.conf from your assets
|
||||||
xdg.configFile."kitty/kitty.conf".text = lib.concatStringsSep "\n" [
|
xdg.configFile."kitty/kitty.conf".source = "${flakeRoot}/assets/conf/kitty/kitty.conf";
|
||||||
"# Catppuccin Mocha theme"
|
|
||||||
"background #1e1e2e"
|
|
||||||
"foreground #cdd6f4"
|
|
||||||
"selection_background #f5e0dc"
|
|
||||||
"selection_foreground #1e1e2e"
|
|
||||||
"url_color #f5e0dc"
|
|
||||||
"cursor #f5e0dc"
|
|
||||||
"cursor_text_color #1e1e2e"
|
|
||||||
|
|
||||||
"color0 #45475a"
|
|
||||||
"color8 #585b70"
|
|
||||||
|
|
||||||
"color1 #f38ba8"
|
|
||||||
"color9 #f38ba8"
|
|
||||||
|
|
||||||
"color2 #a6e3a1"
|
|
||||||
"color10 #a6e3a1"
|
|
||||||
|
|
||||||
"color3 #f9e2af"
|
|
||||||
"color11 #f9e2af"
|
|
||||||
|
|
||||||
"color4 #89b4fa"
|
|
||||||
"color12 #89b4fa"
|
|
||||||
|
|
||||||
"color5 #f5c2e7"
|
|
||||||
"color13 #f5c2e7"
|
|
||||||
|
|
||||||
"color6 #94e2d5"
|
|
||||||
"color14 #94e2d5"
|
|
||||||
|
|
||||||
"color7 #bac2de"
|
|
||||||
"color15 #bac2de"
|
|
||||||
|
|
||||||
"# Window settings"
|
|
||||||
"background_opacity 0.9"
|
|
||||||
"font_size 12.0"
|
|
||||||
"cursor_shape Beam"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** =generated/system/applications/terminal_shell/starship.nix=
|
** =generated/system/applications/terminal_shell/starship.nix=
|
||||||
This is top file of this level which contains just an import statement for all relevant files and/or the subfolder in this folder
|
This file sets up starship prompt
|
||||||
#+BEGIN_SRC nix :tangle generated/system/applications/terminal_shell/starship.nix :noweb tangle :mkdirp yes :eval never-html
|
#+BEGIN_SRC nix :tangle generated/system/applications/terminal_shell/starship.nix :noweb tangle :mkdirp yes :eval never-html
|
||||||
{ config, pkgs, lib, user, ... }:
|
{ config, pkgs, lib, user, flakeRoot, ... }:
|
||||||
{
|
{
|
||||||
home-manager.users.${user.username} = {
|
home-manager.users.${user.username} = {
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Catppuccin Mocha theme for Starship
|
# Use the starship.toml from your assets
|
||||||
xdg.configFile."starship.toml".text = ''
|
xdg.configFile."starship.toml".source = "${flakeRoot}/assets/common/conf/starship.toml";
|
||||||
format = "$all"
|
|
||||||
|
|
||||||
[character]
|
|
||||||
success_symbol = "[❯](bold green)"
|
|
||||||
error_symbol = "[❯](bold red)"
|
|
||||||
|
|
||||||
[directory]
|
|
||||||
style = "bold lavender"
|
|
||||||
|
|
||||||
[git_branch]
|
|
||||||
symbol = " "
|
|
||||||
style = "bold maroon"
|
|
||||||
|
|
||||||
[package]
|
|
||||||
disabled = true
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
@@ -1184,18 +1146,21 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
home-manager.users.${user.username} = {
|
home-manager.users.${user.username} = {
|
||||||
|
# Install zsh-syntax-highlighting
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
zsh-syntax-highlighting
|
||||||
|
];
|
||||||
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
autosuggestion.enable = true;
|
autosuggestion.enable = true;
|
||||||
syntaxHighlighting.enable = true;
|
# Disable syntaxHighlighting.enable (we handle it manually)
|
||||||
oh-my-zsh = {
|
oh-my-zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = "agnoster";
|
theme = "agnoster";
|
||||||
plugins = [
|
plugins = [
|
||||||
"git"
|
"git"
|
||||||
"zsh-autosuggestions"
|
|
||||||
"zsh-syntax-highlighting"
|
|
||||||
"docker"
|
"docker"
|
||||||
"kubectl"
|
"kubectl"
|
||||||
"history"
|
"history"
|
||||||
@@ -1221,6 +1186,9 @@ in
|
|||||||
"setopt CORRECT"
|
"setopt CORRECT"
|
||||||
"setopt INTERACTIVE_COMMENTS"
|
"setopt INTERACTIVE_COMMENTS"
|
||||||
""
|
""
|
||||||
|
"# zsh-syntax-highlighting (manually sourced)"
|
||||||
|
"source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
|
||||||
|
""
|
||||||
"# Starship"
|
"# Starship"
|
||||||
"eval \"$(starship init zsh)\""
|
"eval \"$(starship init zsh)\""
|
||||||
""
|
""
|
||||||
@@ -1239,7 +1207,6 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** =generated/system/development/databases/top.nix=
|
** =generated/system/development/databases/top.nix=
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
/nix/store/hqg1qv89c89x5z6hyafbbyc0ncy0jbqs-home-manager-files/.config/kitty/kitty.conf
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
/nix/store/hqg1qv89c89x5z6hyafbbyc0ncy0jbqs-home-manager-files/.config/kitty/themes/Catppuccin-Mocha.conf
|
||||||
@@ -0,0 +1,279 @@
|
|||||||
|
"$schema" = 'https://starship.rs/config-schema.json'
|
||||||
|
|
||||||
|
format = """
|
||||||
|
[](red)\
|
||||||
|
$os\
|
||||||
|
$username\
|
||||||
|
[](bg:peach fg:red)\
|
||||||
|
$directory\
|
||||||
|
[](bg:yellow fg:peach)\
|
||||||
|
$git_branch\
|
||||||
|
$git_status\
|
||||||
|
[](fg:yellow bg:green)\
|
||||||
|
$c\
|
||||||
|
$rust\
|
||||||
|
$golang\
|
||||||
|
$nodejs\
|
||||||
|
$php\
|
||||||
|
$java\
|
||||||
|
$kotlin\
|
||||||
|
$haskell\
|
||||||
|
$python\
|
||||||
|
[](fg:green bg:sapphire)\
|
||||||
|
$conda\
|
||||||
|
[](fg:sapphire bg:lavender)\
|
||||||
|
$time\
|
||||||
|
[ ](fg:lavender)\
|
||||||
|
$cmd_duration\
|
||||||
|
$line_break\
|
||||||
|
$character"""
|
||||||
|
|
||||||
|
palette = 'catppuccin_mocha'
|
||||||
|
|
||||||
|
[os]
|
||||||
|
disabled = false
|
||||||
|
style = "bg:red fg:crust"
|
||||||
|
|
||||||
|
[os.symbols]
|
||||||
|
Windows = ""
|
||||||
|
Ubuntu = ""
|
||||||
|
SUSE = ""
|
||||||
|
Raspbian = ""
|
||||||
|
Mint = ""
|
||||||
|
Macos = ""
|
||||||
|
Manjaro = ""
|
||||||
|
Linux = ""
|
||||||
|
Gentoo = ""
|
||||||
|
Fedora = ""
|
||||||
|
Alpine = ""
|
||||||
|
Amazon = ""
|
||||||
|
Android = ""
|
||||||
|
AOSC = ""
|
||||||
|
Arch = ""
|
||||||
|
Artix = ""
|
||||||
|
CentOS = ""
|
||||||
|
Debian = ""
|
||||||
|
Redhat = ""
|
||||||
|
RedHatEnterprise = ""
|
||||||
|
|
||||||
|
[username]
|
||||||
|
show_always = true
|
||||||
|
style_user = "bg:red fg:crust"
|
||||||
|
style_root = "bg:red fg:crust"
|
||||||
|
format = '[ $user]($style)'
|
||||||
|
|
||||||
|
[directory]
|
||||||
|
style = "bg:peach fg:crust"
|
||||||
|
format = "[ $path ]($style)"
|
||||||
|
truncation_length = 3
|
||||||
|
truncation_symbol = "…/"
|
||||||
|
|
||||||
|
[directory.substitutions]
|
||||||
|
"Documents" = " "
|
||||||
|
"Downloads" = " "
|
||||||
|
"Music" = " "
|
||||||
|
"Pictures" = " "
|
||||||
|
"Developer" = " "
|
||||||
|
|
||||||
|
[git_branch]
|
||||||
|
symbol = ""
|
||||||
|
style = "bg:yellow"
|
||||||
|
format = '[[ $symbol $branch ](fg:crust bg:yellow)]($style)'
|
||||||
|
|
||||||
|
[git_status]
|
||||||
|
style = "bg:yellow"
|
||||||
|
format = '[[($all_status$ahead_behind )](fg:crust bg:yellow)]($style)'
|
||||||
|
|
||||||
|
[nodejs]
|
||||||
|
symbol = ""
|
||||||
|
style = "bg:green"
|
||||||
|
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||||
|
|
||||||
|
[c]
|
||||||
|
symbol = " "
|
||||||
|
style = "bg:green"
|
||||||
|
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||||
|
|
||||||
|
[rust]
|
||||||
|
symbol = ""
|
||||||
|
style = "bg:green"
|
||||||
|
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||||
|
|
||||||
|
[golang]
|
||||||
|
symbol = ""
|
||||||
|
style = "bg:green"
|
||||||
|
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||||
|
|
||||||
|
[php]
|
||||||
|
symbol = ""
|
||||||
|
style = "bg:green"
|
||||||
|
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||||
|
|
||||||
|
[java]
|
||||||
|
symbol = " "
|
||||||
|
style = "bg:green"
|
||||||
|
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||||
|
|
||||||
|
[kotlin]
|
||||||
|
symbol = ""
|
||||||
|
style = "bg:green"
|
||||||
|
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||||
|
|
||||||
|
[haskell]
|
||||||
|
symbol = ""
|
||||||
|
style = "bg:green"
|
||||||
|
format = '[[ $symbol( $version) ](fg:crust bg:green)]($style)'
|
||||||
|
|
||||||
|
[python]
|
||||||
|
symbol = ""
|
||||||
|
style = "bg:green"
|
||||||
|
format = '[[ $symbol( $version)(\(#$virtualenv\)) ](fg:crust bg:green)]($style)'
|
||||||
|
|
||||||
|
[docker_context]
|
||||||
|
symbol = ""
|
||||||
|
style = "bg:sapphire"
|
||||||
|
format = '[[ $symbol( $context) ](fg:crust bg:sapphire)]($style)'
|
||||||
|
|
||||||
|
[conda]
|
||||||
|
symbol = " "
|
||||||
|
style = "fg:crust bg:sapphire"
|
||||||
|
format = '[$symbol$environment ]($style)'
|
||||||
|
ignore_base = false
|
||||||
|
|
||||||
|
[time]
|
||||||
|
disabled = false
|
||||||
|
time_format = "%R"
|
||||||
|
style = "bg:lavender"
|
||||||
|
format = '[[ $time ](fg:crust bg:lavender)]($style)'
|
||||||
|
|
||||||
|
[line_break]
|
||||||
|
disabled = false
|
||||||
|
|
||||||
|
[character]
|
||||||
|
disabled = false
|
||||||
|
success_symbol = '[❯](bold fg:green)'
|
||||||
|
error_symbol = '[❯](bold fg:red)'
|
||||||
|
vimcmd_symbol = '[❮](bold fg:green)'
|
||||||
|
vimcmd_replace_one_symbol = '[❮](bold fg:lavender)'
|
||||||
|
vimcmd_replace_symbol = '[❮](bold fg:lavender)'
|
||||||
|
vimcmd_visual_symbol = '[❮](bold fg:yellow)'
|
||||||
|
|
||||||
|
[cmd_duration]
|
||||||
|
show_milliseconds = true
|
||||||
|
format = " in $duration "
|
||||||
|
style = "bg:lavender"
|
||||||
|
disabled = false
|
||||||
|
show_notifications = true
|
||||||
|
min_time_to_notify = 45000
|
||||||
|
|
||||||
|
[palettes.catppuccin_mocha]
|
||||||
|
rosewater = "#f5e0dc"
|
||||||
|
flamingo = "#f2cdcd"
|
||||||
|
pink = "#f5c2e7"
|
||||||
|
mauve = "#cba6f7"
|
||||||
|
red = "#f38ba8"
|
||||||
|
maroon = "#eba0ac"
|
||||||
|
peach = "#fab387"
|
||||||
|
yellow = "#f9e2af"
|
||||||
|
green = "#a6e3a1"
|
||||||
|
teal = "#94e2d5"
|
||||||
|
sky = "#89dceb"
|
||||||
|
sapphire = "#74c7ec"
|
||||||
|
blue = "#89b4fa"
|
||||||
|
lavender = "#b4befe"
|
||||||
|
text = "#cdd6f4"
|
||||||
|
subtext1 = "#bac2de"
|
||||||
|
subtext0 = "#a6adc8"
|
||||||
|
overlay2 = "#9399b2"
|
||||||
|
overlay1 = "#7f849c"
|
||||||
|
overlay0 = "#6c7086"
|
||||||
|
surface2 = "#585b70"
|
||||||
|
surface1 = "#45475a"
|
||||||
|
surface0 = "#313244"
|
||||||
|
base = "#1e1e2e"
|
||||||
|
mantle = "#181825"
|
||||||
|
crust = "#11111b"
|
||||||
|
|
||||||
|
[palettes.catppuccin_frappe]
|
||||||
|
rosewater = "#f2d5cf"
|
||||||
|
flamingo = "#eebebe"
|
||||||
|
pink = "#f4b8e4"
|
||||||
|
mauve = "#ca9ee6"
|
||||||
|
red = "#e78284"
|
||||||
|
maroon = "#ea999c"
|
||||||
|
peach = "#ef9f76"
|
||||||
|
yellow = "#e5c890"
|
||||||
|
green = "#a6d189"
|
||||||
|
teal = "#81c8be"
|
||||||
|
sky = "#99d1db"
|
||||||
|
sapphire = "#85c1dc"
|
||||||
|
blue = "#8caaee"
|
||||||
|
lavender = "#babbf1"
|
||||||
|
text = "#c6d0f5"
|
||||||
|
subtext1 = "#b5bfe2"
|
||||||
|
subtext0 = "#a5adce"
|
||||||
|
overlay2 = "#949cbb"
|
||||||
|
overlay1 = "#838ba7"
|
||||||
|
overlay0 = "#737994"
|
||||||
|
surface2 = "#626880"
|
||||||
|
surface1 = "#51576d"
|
||||||
|
surface0 = "#414559"
|
||||||
|
base = "#303446"
|
||||||
|
mantle = "#292c3c"
|
||||||
|
crust = "#232634"
|
||||||
|
|
||||||
|
[palettes.catppuccin_latte]
|
||||||
|
rosewater = "#dc8a78"
|
||||||
|
flamingo = "#dd7878"
|
||||||
|
pink = "#ea76cb"
|
||||||
|
mauve = "#8839ef"
|
||||||
|
red = "#d20f39"
|
||||||
|
maroon = "#e64553"
|
||||||
|
peach = "#fe640b"
|
||||||
|
yellow = "#df8e1d"
|
||||||
|
green = "#40a02b"
|
||||||
|
teal = "#179299"
|
||||||
|
sky = "#04a5e5"
|
||||||
|
sapphire = "#209fb5"
|
||||||
|
blue = "#1e66f5"
|
||||||
|
lavender = "#7287fd"
|
||||||
|
text = "#4c4f69"
|
||||||
|
subtext1 = "#5c5f77"
|
||||||
|
subtext0 = "#6c6f85"
|
||||||
|
overlay2 = "#7c7f93"
|
||||||
|
overlay1 = "#8c8fa1"
|
||||||
|
overlay0 = "#9ca0b0"
|
||||||
|
surface2 = "#acb0be"
|
||||||
|
surface1 = "#bcc0cc"
|
||||||
|
surface0 = "#ccd0da"
|
||||||
|
base = "#eff1f5"
|
||||||
|
mantle = "#e6e9ef"
|
||||||
|
crust = "#dce0e8"
|
||||||
|
|
||||||
|
[palettes.catppuccin_macchiato]
|
||||||
|
rosewater = "#f4dbd6"
|
||||||
|
flamingo = "#f0c6c6"
|
||||||
|
pink = "#f5bde6"
|
||||||
|
mauve = "#c6a0f6"
|
||||||
|
red = "#ed8796"
|
||||||
|
maroon = "#ee99a0"
|
||||||
|
peach = "#f5a97f"
|
||||||
|
yellow = "#eed49f"
|
||||||
|
green = "#a6da95"
|
||||||
|
teal = "#8bd5ca"
|
||||||
|
sky = "#91d7e3"
|
||||||
|
sapphire = "#7dc4e4"
|
||||||
|
blue = "#8aadf4"
|
||||||
|
lavender = "#b7bdf8"
|
||||||
|
text = "#cad3f5"
|
||||||
|
subtext1 = "#b8c0e0"
|
||||||
|
subtext0 = "#a5adcb"
|
||||||
|
overlay2 = "#939ab7"
|
||||||
|
overlay1 = "#8087a2"
|
||||||
|
overlay0 = "#6e738d"
|
||||||
|
surface2 = "#5b6078"
|
||||||
|
surface1 = "#494d64"
|
||||||
|
surface0 = "#363a4f"
|
||||||
|
base = "#24273a"
|
||||||
|
mantle = "#1e2030"
|
||||||
|
crust = "#181926"
|
||||||
@@ -14,7 +14,8 @@ $mainMod = SUPER
|
|||||||
# Terminal / launcher / kill / reload
|
# Terminal / launcher / kill / reload
|
||||||
# bind = $mainMod, E, exec, thunar
|
# bind = $mainMod, E, exec, thunar
|
||||||
bind = $mainMod, RETURN, exec, kitty
|
bind = $mainMod, RETURN, exec, kitty
|
||||||
# bind = $mainMod, D, exec, wofi --show drun
|
bind = $mainMod, D, exec, wofi --show drun
|
||||||
|
bind = ALT, D, exec, wofi --show drun
|
||||||
# bind = $mainMod, Q, killactive,
|
# bind = $mainMod, Q, killactive,
|
||||||
bind = $mainMod SHIFT, Q, exit,
|
bind = $mainMod SHIFT, Q, exit,
|
||||||
bind = $mainMod SHIFT, R, exec, hyprctl reload
|
bind = $mainMod SHIFT, R, exec, hyprctl reload
|
||||||
|
|||||||
@@ -3,33 +3,40 @@
|
|||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
user,
|
user,
|
||||||
inputs,
|
|
||||||
flakeRoot,
|
flakeRoot,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
hyprlandConf = builtins.readFile (flakeRoot + "/assets/hyprland/conf/hyprland.conf");
|
hyprlandConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/hypr";
|
||||||
userConfig = import (flakeRoot + "/assets/flake/users/henrov.nix");
|
# Dynamically read all files in assets/hyprland/conf/
|
||||||
|
hyprlandConfs =
|
||||||
|
lib.genAttrs (builtins.attrNames (builtins.readDir "${flakeRoot}/assets/hyprland/conf"))
|
||||||
|
(name: {
|
||||||
|
text = builtins.readFile "${flakeRoot}/assets/hyprland/conf/${name}";
|
||||||
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Nix settings to use Hyprland's cache for packages
|
# NixOS: Enable Hyprland (optional)
|
||||||
nix.settings = {
|
|
||||||
substituters = [ "https://hyprland.cachix.org" ];
|
|
||||||
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Install Hyprland and enable it as the window manager
|
|
||||||
environment.systemPackages = with pkgs; [ hyprland ];
|
|
||||||
programs.hyprland = {
|
programs.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xwayland.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Hyprland-specific Home Manager configurations
|
# Home Manager: Hyprland-specific configurations
|
||||||
home-manager.users.${user.username} = {
|
home-manager.users.${user.username} = {
|
||||||
home.stateVersion = userConfig.stateVersion;
|
# Use config.home-manager.users.${user.username} instead of userConfig
|
||||||
home.username = userConfig.username;
|
home.stateVersion = config.home-manager.users.${user.username}.stateVersion or "23.11"; # Default fallback
|
||||||
home.homeDirectory = userConfig.homeDirectory;
|
home.username = user.username; # Use the 'user' argument
|
||||||
xdg.configFile."hypr/hyprland.conf".text = hyprlandConf;
|
home.homeDirectory =
|
||||||
|
config.home-manager.users.${user.username}.homeDirectory or "/home/${user.username}";
|
||||||
|
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Merge dynamic Hyprland configs with existing xdg.configFile
|
||||||
|
xdg.configFile = {
|
||||||
|
# Your existing manual configs (if any)
|
||||||
|
}
|
||||||
|
// hyprlandConfs;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
# No subfolders to import
|
./wofi.nix
|
||||||
];
|
];
|
||||||
# .. put any code here
|
# .. put any code here
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
{ config, pkgs, lib, user, flakeRoot, ... }:
|
||||||
|
let
|
||||||
|
xdgDataHome = config.home-manager.users.${user.username}.xdg.dataHome;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
# NixOS: Install Wofi system-wide (optional)
|
||||||
|
environment.systemPackages = with pkgs; [ wofi ];
|
||||||
|
|
||||||
|
# Home Manager: User-specific Wofi config
|
||||||
|
home-manager.users.${user.username} = {
|
||||||
|
# Install Wofi for the user
|
||||||
|
home.packages = with pkgs; [ wofi ];
|
||||||
|
|
||||||
|
# Wofi configuration
|
||||||
|
xdg.configFile."wofi/config".text = ''
|
||||||
|
dark
|
||||||
|
width=500
|
||||||
|
height=800
|
||||||
|
lines=10
|
||||||
|
columns=1
|
||||||
|
cache_dir=${xdgDataHome}/wofi
|
||||||
|
allow_images=true
|
||||||
|
allow_markup=true
|
||||||
|
show_drun=true
|
||||||
|
'';
|
||||||
|
/*
|
||||||
|
# Catppuccin Mocha theme for Wofi
|
||||||
|
xdg.configFile."wofi/style.css".source = pkgs.fetchFromGitHub {
|
||||||
|
owner = "catppuccin";
|
||||||
|
repo = "wofi";
|
||||||
|
rev = "d4c8c0a6b57e2e97a0d7b87e186322e933a8d9e0"; # Example commit hash (replace with a valid one)
|
||||||
|
sha256 = "sha256-0Rn9CKPm0v3rXlx7nyXD3QJ5Xq3XZvBwgqXzWmOyZkA="; # Replace with the correct hash
|
||||||
|
} + "/mocha.css"; # Correct file name
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./wofi.nix
|
# No subfolders to import
|
||||||
];
|
];
|
||||||
# .. put any code here
|
# .. put any code here
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,31 +1,4 @@
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
{
|
{
|
||||||
programs.wofi = {
|
# .. put any code here
|
||||||
enable = true;
|
|
||||||
wrapGtkApps = true; # Required for GTK theming
|
|
||||||
extraPackages = with pkgs; [ wofi ];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Catppuccin theme for Wofi
|
|
||||||
home-manager.users.${user.username} = {
|
|
||||||
xdg.configFile."wofi/config".text = ''
|
|
||||||
dark
|
|
||||||
width=500
|
|
||||||
height=800
|
|
||||||
lines=10
|
|
||||||
columns=1
|
|
||||||
cache_dir=${config.xdg.dataHome}/wofi
|
|
||||||
allow_images=true
|
|
||||||
allow_markup=true
|
|
||||||
show_drun=true
|
|
||||||
'';
|
|
||||||
|
|
||||||
xdg.configFile."wofi/style.css".source = pkgs.fetchFromGitHub {
|
|
||||||
owner = "catppuccin";
|
|
||||||
repo = "wofi";
|
|
||||||
rev = "main";
|
|
||||||
sha256 = "sha256-0000000000000000000000000000000000000000000000000000"; # Update with the correct hash
|
|
||||||
file = "mocha.css"; # or latte/frappe/macchiato
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,27 +1,11 @@
|
|||||||
{ config, pkgs, lib, user, ... }:
|
{ config, pkgs, lib, user, flakeRoot, ... }:
|
||||||
{
|
{
|
||||||
home-manager.users.${user.username} = {
|
home-manager.users.${user.username} = {
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Catppuccin Mocha theme for Starship
|
# Use the starship.toml from your assets
|
||||||
xdg.configFile."starship.toml".text = ''
|
xdg.configFile."starship.toml".source = "${flakeRoot}/assets/common/conf/starship.toml";
|
||||||
format = "$all"
|
|
||||||
|
|
||||||
[character]
|
|
||||||
success_symbol = "[❯](bold green)"
|
|
||||||
error_symbol = "[❯](bold red)"
|
|
||||||
|
|
||||||
[directory]
|
|
||||||
style = "bold lavender"
|
|
||||||
|
|
||||||
[git_branch]
|
|
||||||
symbol = " "
|
|
||||||
style = "bold maroon"
|
|
||||||
|
|
||||||
[package]
|
|
||||||
disabled = true
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,18 +4,22 @@ let
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
home-manager.users.${user.username} = {
|
home-manager.users.${user.username} = {
|
||||||
|
# Install zsh-syntax-highlighting
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
zsh-syntax-highlighting
|
||||||
|
];
|
||||||
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
autosuggestion.enable = true;
|
autosuggestion.enable = true;
|
||||||
syntaxHighlighting.enable = true;
|
# Disable syntaxHighlighting.enable (we handle it manually)
|
||||||
oh-my-zsh = {
|
oh-my-zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
theme = "agnoster";
|
theme = "agnoster";
|
||||||
plugins = [
|
plugins = [
|
||||||
"git"
|
"git"
|
||||||
"zsh-autosuggestions"
|
"zsh-autosuggestions"
|
||||||
"zsh-syntax-highlighting"
|
|
||||||
"docker"
|
"docker"
|
||||||
"kubectl"
|
"kubectl"
|
||||||
"history"
|
"history"
|
||||||
@@ -41,6 +45,9 @@ in
|
|||||||
"setopt CORRECT"
|
"setopt CORRECT"
|
||||||
"setopt INTERACTIVE_COMMENTS"
|
"setopt INTERACTIVE_COMMENTS"
|
||||||
""
|
""
|
||||||
|
"# zsh-syntax-highlighting (manually sourced)"
|
||||||
|
"source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh"
|
||||||
|
""
|
||||||
"# Starship"
|
"# Starship"
|
||||||
"eval \"$(starship init zsh)\""
|
"eval \"$(starship init zsh)\""
|
||||||
""
|
""
|
||||||
|
|||||||
Reference in New Issue
Block a user