Added networking
This commit is contained in:
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
user,
|
||||||
|
flakeRoot,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
hyprlandConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/hypr";
|
||||||
|
# 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
|
||||||
|
{
|
||||||
|
# NixOS: Enable Hyprland (optional)
|
||||||
|
programs.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Home Manager: Hyprland-specific configurations
|
||||||
|
home-manager.users.${user.username} = {
|
||||||
|
# Use config.home-manager.users.${user.username} instead of userConfig
|
||||||
|
home.stateVersion = config.home-manager.users.${user.username}.stateVersion or "23.11"; # Default fallback
|
||||||
|
home.username = user.username; # Use the 'user' argument
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
user,
|
||||||
|
inputs,
|
||||||
|
flakeRoot,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/bindings.conf");
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home-manager.users.${user.username} = {
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = bindingsContent;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./wofi.nix
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
{ 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".text = builtins.readFile "${pkgs.fetchFromGitHub {
|
||||||
|
owner = "catppuccin";
|
||||||
|
repo = "wofi";
|
||||||
|
rev = "a0c34a8e9d3a1f71b1b2a8e3b5b8e3e8b1b3b8e3"; # Replace with the correct SHA256 hash
|
||||||
|
sha256 = "0000000000000000000000000000000000000000000000000000"; # Replace with the correct SHA256 hash
|
||||||
|
}}/style-mocha.css";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hyprland.nix
|
||||||
|
./animations_effects/top.nix
|
||||||
|
./decorations/top.nix
|
||||||
|
./keyboard_binds/top.nix
|
||||||
|
./notifications/top.nix
|
||||||
|
./statusbar_tray/top.nix
|
||||||
|
./task_launcher/top.nix
|
||||||
|
./task_window_workspace_switcher/top.nix
|
||||||
|
./window_rules/top.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
user,
|
||||||
|
inputs,
|
||||||
|
flakeRoot,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/bindings.conf");
|
||||||
|
userConfig = import (flakeRoot + "/assets/flake/users/henrov.nix");
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home-manager.users.${user.username} = {
|
||||||
|
home.stateVersion = userConfig.stateVersion;
|
||||||
|
home.username = userConfig.username;
|
||||||
|
home.homeDirectory = userConfig.homeDirectory;
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = bindingsContent;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./animations_effects/top.nix
|
||||||
|
./decorations/top.nix
|
||||||
|
./keyboard_binds/top.nix
|
||||||
|
./notifications/top.nix
|
||||||
|
./statusbar_tray/top.nix
|
||||||
|
./task_launcher/top.nix
|
||||||
|
./task_window_workspace_switcher/top.nix
|
||||||
|
./window_rules/top.nix
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
{ config, pkgs, lib, user, ... }:
|
||||||
|
let
|
||||||
|
kittyConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/kitty";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home-manager.users.${user.username} = {
|
||||||
|
programs.kitty = {
|
||||||
|
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)
|
||||||
|
xdg.configFile."kitty/kitty.conf".text = lib.concatStringsSep "\n" [
|
||||||
|
"# 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"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
{ config, pkgs, lib, user, ... }:
|
||||||
|
{
|
||||||
|
home-manager.users.${user.username} = {
|
||||||
|
programs.starship = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Catppuccin Mocha theme for Starship
|
||||||
|
xdg.configFile."starship.toml".text = ''
|
||||||
|
format = "$all"
|
||||||
|
|
||||||
|
[character]
|
||||||
|
success_symbol = "[❯](bold green)"
|
||||||
|
error_symbol = "[❯](bold red)"
|
||||||
|
|
||||||
|
[directory]
|
||||||
|
style = "bold lavender"
|
||||||
|
|
||||||
|
[git_branch]
|
||||||
|
symbol = " "
|
||||||
|
style = "bold maroon"
|
||||||
|
|
||||||
|
[package]
|
||||||
|
disabled = true
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./kitty.nix
|
||||||
|
./starship.nix
|
||||||
|
./zsh.nix
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
{ config, pkgs, lib, user, ... }:
|
||||||
|
let
|
||||||
|
zshConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/zsh";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home-manager.users.${user.username} = {
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
autosuggestion.enable = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
oh-my-zsh = {
|
||||||
|
enable = true;
|
||||||
|
theme = "agnoster";
|
||||||
|
plugins = [
|
||||||
|
"git"
|
||||||
|
"zsh-autosuggestions"
|
||||||
|
"zsh-syntax-highlighting"
|
||||||
|
"docker"
|
||||||
|
"kubectl"
|
||||||
|
"history"
|
||||||
|
"command-not-found"
|
||||||
|
"extract"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
shellAliases = {
|
||||||
|
ls = "exa --icons -a --group-directories-first";
|
||||||
|
ll = "exa --icons -la --group-directories-first";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Consolidated .zshrc
|
||||||
|
xdg.configFile."zsh/.zshrc".text = lib.concatStringsSep "\n" [
|
||||||
|
"# Oh-My-Zsh"
|
||||||
|
"export ZSH=\"${zshConfigDir}\""
|
||||||
|
"source \"${pkgs.zsh}/share/zsh/functions/Newuser/zsh-newuser-install\""
|
||||||
|
"source \"${zshConfigDir}/oh-my-zsh.sh\""
|
||||||
|
""
|
||||||
|
"# Zsh options"
|
||||||
|
"setopt AUTO_CD"
|
||||||
|
"setopt CORRECT"
|
||||||
|
"setopt INTERACTIVE_COMMENTS"
|
||||||
|
""
|
||||||
|
"# Starship"
|
||||||
|
"eval \"$(starship init zsh)\""
|
||||||
|
""
|
||||||
|
"# fzf"
|
||||||
|
"source \"${pkgs.fzf}/shell/key-bindings.zsh\""
|
||||||
|
"source \"${pkgs.fzf}/shell/completion.zsh\""
|
||||||
|
""
|
||||||
|
"# User customizations"
|
||||||
|
"source \"${zshConfigDir}/custom.zsh\" 2>/dev/null"
|
||||||
|
];
|
||||||
|
|
||||||
|
# User customizations
|
||||||
|
xdg.configFile."zsh/custom.zsh".text = ''
|
||||||
|
export EDITOR="nvim"
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./accessibility/top.nix
|
||||||
|
./file_management/top.nix
|
||||||
|
./gaming/top.nix
|
||||||
|
./media_playback_editing/top.nix
|
||||||
|
./office_productivity/top.nix
|
||||||
|
./terminal_shell/top.nix
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
{ pkgs, user, ... } :
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
tuigreet
|
||||||
|
];
|
||||||
|
services.greetd = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
default_session = {
|
||||||
|
command = pkgs.lib.mkForce "${pkgs.tuigreet}/bin/tuigreet --remember --time --time-format '%I:%M %p | %a • %h | %F'";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./wayland.nix
|
||||||
|
./login-tuigreeter.nix
|
||||||
|
# ./login-lightdm.nix
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
{ config, pkgs, lib, user, ... }:
|
||||||
|
{
|
||||||
|
# Enable essential services for a Wayland session
|
||||||
|
services.dbus.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
wireplumber.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# XDG Desktop Portal settings for better application integration
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
config.common.default = [ "hyprland" "gtk" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Environment variables for a Wayland session
|
||||||
|
environment.sessionVariables = {
|
||||||
|
XDG_SESSION_TYPE = "wayland";
|
||||||
|
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||||
|
XCURSOR_SIZE = "24";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Home Manager Wayland configurations
|
||||||
|
home-manager.users.${user.username} = {
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ];
|
||||||
|
config.hyprland = {
|
||||||
|
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./databases/top.nix
|
||||||
|
./devops_ci_cd/top.nix
|
||||||
|
./programming_languages/top.nix
|
||||||
|
./virtualization/top.nix
|
||||||
|
./web_development/top.nix
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
# No subfolders to import
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./audio/top.nix
|
||||||
|
./backups/top.nix
|
||||||
|
./bluetooth/top.nix
|
||||||
|
./disk_management/top.nix
|
||||||
|
./hardware_sensors/top.nix
|
||||||
|
./logging_monitoring/top.nix
|
||||||
|
./login_manager/top.nix
|
||||||
|
./monitor_setup/top.nix
|
||||||
|
./networking/top.nix
|
||||||
|
./power_management/top.nix
|
||||||
|
./printers_scanners/top.nix
|
||||||
|
./security/top.nix
|
||||||
|
./system_updates/top.nix
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./applications/top.nix
|
||||||
|
./core/top.nix
|
||||||
|
./development/top.nix
|
||||||
|
./system_management/top.nix
|
||||||
|
];
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./system/top.nix
|
||||||
|
./hyprland/top.nix
|
||||||
|
# ./mangowc/top.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -6,14 +6,13 @@
|
|||||||
flakeRoot,
|
flakeRoot,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
hyprlandConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/hypr";
|
hyprlandConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/hypr";
|
||||||
# Dynamically read all files in assets/hyprland/conf/
|
# Dynamically read all files in assets/hyprland/conf/
|
||||||
hyprlandConfs =
|
hyprlandConfs =
|
||||||
lib.genAttrs (builtins.attrNames (builtins.readDir "${flakeRoot}/assets/hyprland/conf/hypr"))
|
lib.genAttrs (builtins.attrNames (builtins.readDir "${flakeRoot}/assets/hyprland/conf"))
|
||||||
(name: {
|
(name: {
|
||||||
text = builtins.readFile "${flakeRoot}/assets/hyprland/conf/hypr/${name}";
|
text = builtins.readFile "${flakeRoot}/assets/hyprland/conf/${name}";
|
||||||
});
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
@@ -34,11 +33,10 @@ in
|
|||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Ensure the Hyprland config directory exists
|
# Merge dynamic Hyprland configs with existing xdg.configFile
|
||||||
xdg.configFile = {
|
xdg.configFile = {
|
||||||
"hypr/.keep" = {
|
# Your existing manual configs (if any)
|
||||||
text = "";
|
}
|
||||||
};
|
// hyprlandConfs;
|
||||||
} // hyprlandConfs;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/hypr/bindings.conf");
|
bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/bindings.conf");
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home-manager.users.${user.username} = {
|
home-manager.users.${user.username} = {
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
{ 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".text = builtins.readFile "${pkgs.fetchFromGitHub {
|
||||||
|
owner = "catppuccin";
|
||||||
|
repo = "wofi";
|
||||||
|
rev = "a0c34a8e9d3a1f71b1b2a8e3b5b8e3e8b1b3b8e3"; # Replace with the correct SHA256 hash
|
||||||
|
sha256 = "0000000000000000000000000000000000000000000000000000"; # Replace with the correct SHA256 hash
|
||||||
|
}}/style-mocha.css";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1 +1,24 @@
|
|||||||
# Your code here...
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
user,
|
||||||
|
inputs,
|
||||||
|
flakeRoot,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
bindingsContent = builtins.readFile (flakeRoot + "/assets/hyprland/conf/bindings.conf");
|
||||||
|
userConfig = import (flakeRoot + "/assets/flake/users/henrov.nix");
|
||||||
|
in
|
||||||
|
{
|
||||||
|
home-manager.users.${user.username} = {
|
||||||
|
home.stateVersion = userConfig.stateVersion;
|
||||||
|
home.username = userConfig.username;
|
||||||
|
home.homeDirectory = userConfig.homeDirectory;
|
||||||
|
wayland.windowManager.hyprland = {
|
||||||
|
enable = true;
|
||||||
|
extraConfig = bindingsContent;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
|
{
|
||||||
|
# .. put any code here
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ config, pkgs, lib, user, flakeRoot, ... }:
|
{ config, pkgs, lib, user, ... }:
|
||||||
let
|
let
|
||||||
kittyConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/kitty";
|
kittyConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/kitty";
|
||||||
in
|
in
|
||||||
@@ -6,14 +6,54 @@ 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";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Copy the actual kitty.conf (not a symlink)
|
# Catppuccin Mocha theme for Kitty (embedded)
|
||||||
xdg.configFile."kitty/kitty.conf".text = lib.concatStringsSep "\n" [
|
xdg.configFile."kitty/kitty.conf".text = lib.concatStringsSep "\n" [
|
||||||
(builtins.readFile "${flakeRoot}/assets/system/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"
|
||||||
|
|
||||||
# Copy the theme file
|
"color0 #45475a"
|
||||||
xdg.configFile."kitty/Catppuccin-Mocha.conf".source = "${flakeRoot}/assets/system/conf/kitty/Catppuccin-Mocha.conf";
|
"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"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,16 +1,27 @@
|
|||||||
|
{ config, pkgs, lib, user, ... }:
|
||||||
{
|
{
|
||||||
lib,
|
home-manager.users.${user.username} = {
|
||||||
config,
|
programs.starship = {
|
||||||
pkgs,
|
enable = true;
|
||||||
flakeRoot,
|
};
|
||||||
...
|
|
||||||
}:
|
# Catppuccin Mocha theme for Starship
|
||||||
let
|
xdg.configFile."starship.toml".text = ''
|
||||||
starshipConfig = lib.importTOML (flakeRoot + "/assets/system/conf/starship.toml");
|
format = "$all"
|
||||||
in
|
|
||||||
{
|
[character]
|
||||||
programs.starship = {
|
success_symbol = "[❯](bold green)"
|
||||||
enable = true;
|
error_symbol = "[❯](bold red)"
|
||||||
settings = starshipConfig;
|
|
||||||
|
[directory]
|
||||||
|
style = "bold lavender"
|
||||||
|
|
||||||
|
[git_branch]
|
||||||
|
symbol = " "
|
||||||
|
style = "bold maroon"
|
||||||
|
|
||||||
|
[package]
|
||||||
|
disabled = true
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,95 +1,61 @@
|
|||||||
|
{ config, pkgs, lib, user, ... }:
|
||||||
|
let
|
||||||
|
zshConfigDir = "${config.home-manager.users.${user.username}.xdg.configHome}/zsh";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
lib,
|
home-manager.users.${user.username} = {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
...
|
|
||||||
}:
|
|
||||||
|
|
||||||
{
|
|
||||||
# --- NixOS Configuration ---
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
zsh
|
|
||||||
git
|
|
||||||
docker
|
|
||||||
];
|
|
||||||
|
|
||||||
# --- Home Manager Configuration ---
|
|
||||||
home-manager.users.henrov = {
|
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
|
autosuggestion.enable = true;
|
||||||
# Enable oh-my-zsh and use its plugins
|
syntaxHighlighting.enable = true;
|
||||||
oh-my-zsh = {
|
oh-my-zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
theme = "agnoster";
|
||||||
plugins = [
|
plugins = [
|
||||||
"git"
|
"git"
|
||||||
"docker"
|
|
||||||
"direnv"
|
|
||||||
"zsh-autosuggestions"
|
"zsh-autosuggestions"
|
||||||
"zsh-syntax-highlighting"
|
"zsh-syntax-highlighting"
|
||||||
"zsh-completions"
|
"docker"
|
||||||
"zsh-history-substring-search"
|
"kubectl"
|
||||||
|
"history"
|
||||||
|
"command-not-found"
|
||||||
|
"extract"
|
||||||
];
|
];
|
||||||
theme = "agnoster"; # Fallback, overridden below
|
|
||||||
};
|
};
|
||||||
|
shellAliases = {
|
||||||
# Source Nixpkgs-provided plugins explicitly
|
ls = "exa --icons -a --group-directories-first";
|
||||||
initContent = ''
|
ll = "exa --icons -la --group-directories-first";
|
||||||
# Source plugins installed by Nix
|
};
|
||||||
source ${pkgs.zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh
|
|
||||||
source ${pkgs.zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
|
||||||
source ${pkgs.zsh-history-substring-search}/share/zsh-history-substring-search/zsh-history-substring-search.zsh
|
|
||||||
|
|
||||||
# Catppuccin Mocha theme for oh-my-zsh
|
|
||||||
local mocha_base="#1E1E2E"
|
|
||||||
local mocha_surface0="#313244"
|
|
||||||
local mocha_text="#CDD6F4"
|
|
||||||
local mocha_lavender="#B4BEFE"
|
|
||||||
local mocha_blue="#89B4FA"
|
|
||||||
local mocha_sapphire="#74C7EC"
|
|
||||||
local mocha_teal="#94E2D5"
|
|
||||||
local mocha_green="#A6E3A1"
|
|
||||||
local mocha_yellow="#F9E2AF"
|
|
||||||
local mocha_peach="#FAB387"
|
|
||||||
local mocha_maroon="#EBA0AC"
|
|
||||||
local mocha_red="#F38BA8"
|
|
||||||
local mocha_mauve="#CBA6F7"
|
|
||||||
local mocha_pink="#F5C2E7"
|
|
||||||
local mocha_flamingo="#F2CDCD"
|
|
||||||
local mocha_rosewater="#F5E0DC"
|
|
||||||
|
|
||||||
# Prompt
|
|
||||||
PROMPT='%{$fg[$mocha_blue]%}%n%{$reset_color%}@%{$fg[$mocha_peach]%}%m%{$reset_color%} %{$fg[$mocha_lavender]%}%~%{$reset_color%} %{$fg[$mocha_red]%}$%{$reset_color%} '
|
|
||||||
RPROMPT='%{$fg[$mocha_green]%}%T%{$reset_color%}'
|
|
||||||
|
|
||||||
# Git prompt
|
|
||||||
ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[$mocha_yellow]%}(%{$reset_color%}"
|
|
||||||
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$fg[$mocha_yellow]%})%{$reset_color%}"
|
|
||||||
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[$mocha_red]%}✗%{$reset_color%}"
|
|
||||||
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[$mocha_green]%}✓%{$reset_color%}"
|
|
||||||
ZSH_THEME_GIT_PROMPT_AHEAD="%{$fg[$mocha_blue]%}⇡%{$reset_color%}"
|
|
||||||
ZSH_THEME_GIT_PROMPT_BEHIND="%{$fg[$mocha_blue]%}⇣%{$reset_color%}"
|
|
||||||
ZSH_THEME_GIT_PROMPT_UNTRACKED="%{$fg[$mocha_pink]%}?%{$reset_color%}"
|
|
||||||
ZSH_THEME_GIT_PROMPT_STAGED="%{$fg[$mocha_sapphire]%}+%{$reset_color%}"
|
|
||||||
ZSH_THEME_GIT_PROMPT_UNSTAGED="%{$fg[$mocha_red]%}!%{$reset_color%}"
|
|
||||||
|
|
||||||
# Virtualenv/pyenv
|
|
||||||
ZSH_THEME_VIRTUAL_ENV_PREFIX="(%{$fg[$mocha_teal]%}"
|
|
||||||
ZSH_THEME_VIRTUAL_ENV_SUFFIX="%{$reset_color%})"
|
|
||||||
|
|
||||||
# Right prompt with Git status
|
|
||||||
RPROMPT='$(git_prompt_info) %{$fg[$mocha_green]%}%T%{$reset_color%}'
|
|
||||||
|
|
||||||
# Set the custom theme
|
|
||||||
ZSH_THEME="catppuccin-mocha"
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Home Manager packages (optional)
|
# Consolidated .zshrc
|
||||||
home.packages = with pkgs; [
|
xdg.configFile."zsh/.zshrc".text = lib.concatStringsSep "\n" [
|
||||||
direnv
|
"# Oh-My-Zsh"
|
||||||
git-extras
|
"export ZSH=\"${zshConfigDir}\""
|
||||||
|
"source \"${pkgs.zsh}/share/zsh/functions/Newuser/zsh-newuser-install\""
|
||||||
|
"source \"${zshConfigDir}/oh-my-zsh.sh\""
|
||||||
|
""
|
||||||
|
"# Zsh options"
|
||||||
|
"setopt AUTO_CD"
|
||||||
|
"setopt CORRECT"
|
||||||
|
"setopt INTERACTIVE_COMMENTS"
|
||||||
|
""
|
||||||
|
"# Starship"
|
||||||
|
"eval \"$(starship init zsh)\""
|
||||||
|
""
|
||||||
|
"# fzf"
|
||||||
|
"source \"${pkgs.fzf}/shell/key-bindings.zsh\""
|
||||||
|
"source \"${pkgs.fzf}/shell/completion.zsh\""
|
||||||
|
""
|
||||||
|
"# User customizations"
|
||||||
|
"source \"${zshConfigDir}/custom.zsh\" 2>/dev/null"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# User customizations
|
||||||
|
xdg.configFile."zsh/custom.zsh".text = ''
|
||||||
|
export EDITOR="nvim"
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
{ config, pkgs, lib, user, inputs, flakeRoot,... }:
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./packages.nix
|
|
||||||
./flatpaks.nix
|
|
||||||
./accessibility/top.nix
|
./accessibility/top.nix
|
||||||
./file_management/top.nix
|
./file_management/top.nix
|
||||||
./gaming/top.nix
|
./gaming/top.nix
|
||||||
@@ -10,5 +8,5 @@
|
|||||||
./office_productivity/top.nix
|
./office_productivity/top.nix
|
||||||
./terminal_shell/top.nix
|
./terminal_shell/top.nix
|
||||||
];
|
];
|
||||||
nixpkgs.config.allowUnfree = true;
|
# .. put any code here
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,8 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./wayland.nix
|
./wayland.nix
|
||||||
./eww.nix
|
|
||||||
./waybar.nix
|
|
||||||
./login-tuigreeter.nix
|
./login-tuigreeter.nix
|
||||||
#./login-lightdm.nix
|
# ./login-lightdm.nix
|
||||||
];
|
];
|
||||||
# .. put any code here
|
# .. put any code here
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,28 @@
|
|||||||
{ config, pkgs, lib, user, ... }:
|
{ config, pkgs, lib, user, ... }:
|
||||||
{
|
{
|
||||||
|
# Enable essential services for a Wayland session
|
||||||
|
services.dbus.enable = true;
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
wireplumber.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# XDG Desktop Portal settings for better application integration
|
||||||
|
xdg.portal = {
|
||||||
|
enable = true;
|
||||||
|
config.common.default = [ "hyprland" "gtk" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Environment variables for a Wayland session
|
||||||
|
environment.sessionVariables = {
|
||||||
|
XDG_SESSION_TYPE = "wayland";
|
||||||
|
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||||
|
XCURSOR_SIZE = "24";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Home Manager Wayland configurations
|
||||||
home-manager.users.${user.username} = {
|
home-manager.users.${user.username} = {
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user