Regenerated
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, pkgs, config, ... }:
|
||||
|
||||
{
|
||||
fonts.packages = with pkgs; [
|
||||
nerd-fonts.iosevka
|
||||
nerd-fonts.fira-code
|
||||
nerd-fonts.jetbrains-mono
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ pkgs, config, lib, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
gtk3
|
||||
gtk4
|
||||
];
|
||||
|
||||
home-manager.users."${username}" = {
|
||||
gtk = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, home-manager, inputs, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
sysName = "hypr";
|
||||
assetPath = "${flakeRoot}/generated/.config/${sysName}";
|
||||
hyprlandPkg =
|
||||
pkgs.hyprland or
|
||||
pkgs.hyprland-git or
|
||||
inputs.hyprland.packages.${pkgs.system}.default;
|
||||
in
|
||||
{
|
||||
# Install Hyprland systemwide
|
||||
programs.hyprland.enable = true;
|
||||
programs.hyprland.withUWSM = true;
|
||||
programs.hyprland.package = hyprlandPkg;
|
||||
|
||||
environment.systemPackages = [ hyprlandPkg ];
|
||||
|
||||
# Home Manager user configuration
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
|
||||
home.activation.MakeHyprMutable = {
|
||||
after = [ "writeBoundary" ];
|
||||
before = [];
|
||||
data = ''
|
||||
rm -f $HOME/.config/${sysName}/*
|
||||
cp ${assetPath}/* $HOME/.config/${sysName}/
|
||||
chmod u+w $HOME/.config/${sysName}/*
|
||||
find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,82 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, stylix, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
moduleName = "stylix";
|
||||
|
||||
assetPath = "${flakeRoot}/generated/.config/${moduleName}";
|
||||
|
||||
stylixConfFile = "${assetPath}/stylix.conf";
|
||||
stylixConf =
|
||||
if builtins.pathExists stylixConfFile
|
||||
then builtins.readFile stylixConfFile
|
||||
else "";
|
||||
|
||||
cursorName = "phinger-cursors-light";
|
||||
cursorSize = 24;
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# Enable Stylix module
|
||||
#################################
|
||||
imports = [
|
||||
stylix.nixosModules.stylix
|
||||
];
|
||||
|
||||
#################################
|
||||
# System packages
|
||||
#################################
|
||||
environment.systemPackages = [
|
||||
pkgs.feh
|
||||
pkgs.st
|
||||
];
|
||||
|
||||
#################################
|
||||
# Stylix system config
|
||||
#################################
|
||||
stylix = {
|
||||
enable = true;
|
||||
|
||||
base16Scheme = "${flakeRoot}/assets/traveldroid/theming/stylix/catppuccin-mocha.yaml";
|
||||
polarity = "dark";
|
||||
|
||||
targets = {
|
||||
gtk.enable = true;
|
||||
qt.enable = true;
|
||||
};
|
||||
|
||||
cursor = {
|
||||
name = cursorName;
|
||||
package = pkgs.phinger-cursors;
|
||||
size = cursorSize;
|
||||
};
|
||||
};
|
||||
|
||||
#################################
|
||||
# Home Manager
|
||||
#################################
|
||||
home-manager.users = {
|
||||
"${username}" = {
|
||||
|
||||
#################################
|
||||
# ONLY custom file (safe)
|
||||
#################################
|
||||
home.file.".config/stylix/stylix.conf" = {
|
||||
text = stylixConf;
|
||||
force = true;
|
||||
};
|
||||
|
||||
#################################
|
||||
# Environment variables
|
||||
#################################
|
||||
home.sessionVariables = {
|
||||
STYLIX_CONF = "$HOME/.config/stylix/stylix.conf";
|
||||
XCURSOR_THEME = cursorName;
|
||||
XCURSOR_SIZE = toString cursorSize;
|
||||
HYPRCURSOR_THEME = cursorName;
|
||||
HYPRCURSOR_SIZE = toString cursorSize;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
homeDir = "/home/${username}";
|
||||
wallpaperSrc = "${flakeRoot}/assets/traveldroid/Wallpapers";
|
||||
wallpaperDst = "${homeDir}/Wallpapers";
|
||||
randoScript = "${homeDir}/Wallpapers/scripts/randomizeWallpapers.sh";
|
||||
in
|
||||
{
|
||||
# Make bash available
|
||||
environment.systemPackages = [ pkgs.bash pkgs.rsync pkgs.jq pkgs.awww pkgs.waypaper pkgs.socat ];
|
||||
|
||||
# Create the copy script using Home Manager, following Waybar style
|
||||
home-manager.users = {
|
||||
${username} = {
|
||||
home.file = {
|
||||
"copy-wallpapers.sh" = {
|
||||
text = ''
|
||||
#!/run/current-system/sw/bin/bash
|
||||
set -euo pipefail
|
||||
echo "Running as $(whoami)"
|
||||
echo "Copying wallpapers from ${wallpaperSrc} to ${wallpaperDst} ..."
|
||||
if [ ! -d "${wallpaperSrc}" ]; then
|
||||
echo "ERROR: ${wallpaperSrc} does not exist"
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p "${wallpaperDst}"
|
||||
# Simple copy, overwrite everything
|
||||
cp -r "${wallpaperSrc}/." "${wallpaperDst}/"
|
||||
# Fix permissions
|
||||
chmod -R u+rwx "${wallpaperDst}"
|
||||
echo "Done copying wallpapers."
|
||||
'';
|
||||
executable = true;
|
||||
force = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# User service to run the script that copies the Wallpaperstuff
|
||||
systemd.user.services.copyWallpapers = {
|
||||
description = "Copy wallpapers from repo to ~/Wallpapers";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${homeDir}/copy-wallpapers.sh";
|
||||
Restart = "no";
|
||||
WorkingDirectory = homeDir;
|
||||
};
|
||||
wantedBy = [ "default.target" ];
|
||||
};
|
||||
|
||||
# User service to randomize wallpapers
|
||||
systemd.user.services.randomizeWallpapers = {
|
||||
description = "Randomize wallpapers in ~/Wallpapers/pictures";
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = "${randoScript}";
|
||||
Restart = "no";
|
||||
WorkingDirectory = homeDir;
|
||||
};
|
||||
wantedBy = [ "default.target" ];
|
||||
};
|
||||
|
||||
############################
|
||||
# Random background per workspace at logon
|
||||
############################
|
||||
|
||||
systemd.user.services.workspaceWallpapers = {
|
||||
description = "Dynamic wallpapers per workspace for Hyprland";
|
||||
after = [ "graphical-session.target" ];
|
||||
wants = [ "graphical-session.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
ExecStart = "${homeDir}/Wallpapers/scripts/workspace-wallpapers.sh";
|
||||
Restart = "on-failure";
|
||||
RestartSec = 5;
|
||||
WorkingDirectory = homeDir;
|
||||
Environment = [
|
||||
"HYPRLAND_INSTANCE_SIGNATURE=${builtins.getEnv "HYPRLAND_INSTANCE_SIGNATURE"}"
|
||||
"WAYLAND_DISPLAY=wayland-1"
|
||||
"PATH=/run/current-system/sw/bin:/usr/bin:/bin"
|
||||
];
|
||||
};
|
||||
|
||||
wantedBy = [ "default.target" ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
sysName = "waybar";
|
||||
assetPath = "${flakeRoot}/generated/.config/${sysName}";
|
||||
in
|
||||
{
|
||||
environment.systemPackages = [ pkgs.waybar ];
|
||||
|
||||
home-manager.users.${username} = {
|
||||
home.activation.MakeWaybarMutable = {
|
||||
after = [ "writeBoundary" ];
|
||||
before = [];
|
||||
data = ''
|
||||
rm -f $HOME/.config/${sysName}/*
|
||||
cp ${assetPath}/* $HOME/.config/${sysName}/
|
||||
chmod u+w $HOME/.config/${sysName}/*
|
||||
find $HOME/.config/${sysName}/ -name "*.sh" -exec chmod +x {} \;
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
systemd.user.services.waybar = {
|
||||
description = "Waybar for Hyprland";
|
||||
after = [ "graphical-session.target" ];
|
||||
wantedBy = [ "default.target" ];
|
||||
serviceConfig = {
|
||||
ExecStart = "${pkgs.waybar}/bin/waybar";
|
||||
Restart = "always";
|
||||
Environment = ''
|
||||
WAYLAND_DISPLAY=${config.environment.sessionVariables.WAYLAND_DISPLAY or "wayland-0"}
|
||||
XDG_CURRENT_DESKTOP=Hyprland
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
#################################
|
||||
# Core Wayland packages
|
||||
#################################
|
||||
environment.systemPackages = with pkgs; [
|
||||
wayland
|
||||
wl-clipboard # optional but commonly used for copy/paste
|
||||
];
|
||||
|
||||
#################################
|
||||
# enable graphics stack
|
||||
#################################
|
||||
hardware.graphics.enable = true;
|
||||
|
||||
#################################
|
||||
# Optional session variables for Wayland
|
||||
#################################
|
||||
environment.sessionVariables = {
|
||||
# Forces some apps to use Wayland
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
||||
{ lib, config, pkgs, flakeRoot, ... }:
|
||||
let
|
||||
username = config.defaultUser or "henrov";
|
||||
homeDir = "/home/${username}";
|
||||
basePortal = pkgs.xdg-desktop-portal-gtk;
|
||||
hyprlandPortal = pkgs.xdg-desktop-portal-hyprland;
|
||||
in
|
||||
{
|
||||
#################################
|
||||
# XDG Desktop Portals (system)
|
||||
#################################
|
||||
xdg.portal.enable = true;
|
||||
xdg.portal.xdgOpenUsePortal = true;
|
||||
xdg.portal.extraPortals = [
|
||||
basePortal
|
||||
hyprlandPortal
|
||||
];
|
||||
xdg.portal.config = {
|
||||
common = {
|
||||
default = [ "hyprland" "gtk" ];
|
||||
};
|
||||
hyprland = {
|
||||
default = [ "hyprland" "gtk" ];
|
||||
"org.freedesktop.impl.portal.FileChooser" = [ "gtk" ];
|
||||
"org.freedesktop.impl.portal.Settings" = [ "gtk" ];
|
||||
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ];
|
||||
"org.freedesktop.impl.portal.Screenshot" = [ "hyprland" ];
|
||||
};
|
||||
};
|
||||
#################################
|
||||
# System packages
|
||||
#################################
|
||||
environment.systemPackages = [
|
||||
basePortal
|
||||
hyprlandPortal
|
||||
];
|
||||
#################################
|
||||
# Home Manager user config
|
||||
#################################
|
||||
home-manager.users.${username} = {
|
||||
#################################
|
||||
# XDG user directories
|
||||
#################################
|
||||
xdg.userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
desktop = null;
|
||||
download = "${homeDir}/Downloads";
|
||||
documents = "${homeDir}/Documents";
|
||||
pictures = "${homeDir}/Pictures";
|
||||
music = null;
|
||||
publicShare = null;
|
||||
templates = "${homeDir}/Experiments";
|
||||
videos = "${homeDir}/Videos";
|
||||
extraConfig = {
|
||||
XDG_PROJECTS_DIR = "${homeDir}/Projects";
|
||||
XDG_WORK_DIR = "${homeDir}/Work";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user