init options, move ralph, fix wallpapers
This commit is contained in:
parent
401109204b
commit
85dd534f53
15 changed files with 123 additions and 181 deletions
|
|
@ -14,13 +14,8 @@
|
|||
self.nixosModules.wallpapers
|
||||
];
|
||||
|
||||
options.hyprland-users = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "List of users to configure hyprland for";
|
||||
};
|
||||
|
||||
config = {
|
||||
wallpaper-destinations = [ "Pictures/wallpapers" ];
|
||||
# System-level configuration
|
||||
programs.hyprland.enable = true;
|
||||
|
||||
|
|
@ -58,18 +53,13 @@
|
|||
};
|
||||
|
||||
# Configure hjem for specified users
|
||||
hjem = lib.mkIf (config.hyprland-users != [ ]) {
|
||||
users = lib.genAttrs config.hyprland-users (username: {
|
||||
enable = true;
|
||||
files = {
|
||||
".config/hypr/hyprland.conf".source = ./hyprland.conf;
|
||||
".config/hypr/hyprpaper.conf".source = ./hyprpaper.conf;
|
||||
};
|
||||
});
|
||||
hjem.users."${config.username}" = {
|
||||
enable = true;
|
||||
files = {
|
||||
".config/hypr/hyprland.conf".source = ./hyprland.conf;
|
||||
".config/hypr/hyprpaper.conf".source = ./hyprpaper.conf;
|
||||
};
|
||||
};
|
||||
|
||||
# Enable cursors for hyprland users
|
||||
cursor-users = lib.mkDefault config.hyprland-users;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ env = HYPRCURSOR_THEME,Bibata-Modern-Ice
|
|||
|
||||
# Set programs that you use
|
||||
$terminal = kitty
|
||||
$browser = firefox
|
||||
$browser = librewolf
|
||||
$fileManager = dolphin
|
||||
$menu = wofi --show drun
|
||||
|
||||
|
|
@ -292,8 +292,8 @@ bindl = , XF86AudioPrev, exec, playerctl previous
|
|||
|
||||
# Example windowrule
|
||||
windowrule {
|
||||
name = firefox-on-w2
|
||||
match:class = ^(firefox)$
|
||||
name = librewolf-on-w2
|
||||
match:class = ^(librewolf)$
|
||||
workspace = 2
|
||||
}
|
||||
windowrule {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
wallpaper {
|
||||
monitor = eDP-1
|
||||
path = /home/jingo/dev/dotfiles/wallpapers/Augustine/Augustine-catppuccin-mocha.png
|
||||
path = ~/Pictures/wallpapers/Augustine/Augustine-catppuccin-mocha.png
|
||||
fit_mode = cover
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,51 +3,58 @@
|
|||
flake.nixosModules.base =
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
imports = [ inputs.hjem.nixosModules.default ];
|
||||
imports = [
|
||||
inputs.hjem.nixosModules.default
|
||||
../../options.nix
|
||||
];
|
||||
|
||||
nixpkgs.overlays = [ inputs.millennium.overlays.default ];
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Chicago";
|
||||
config = {
|
||||
username = "jingus";
|
||||
nixpkgs.overlays = [ inputs.millennium.overlays.default ];
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Chicago";
|
||||
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver.xkb = {
|
||||
layout = "us";
|
||||
variant = "";
|
||||
};
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "en_US.UTF-8";
|
||||
LC_IDENTIFICATION = "en_US.UTF-8";
|
||||
LC_MEASUREMENT = "en_US.UTF-8";
|
||||
LC_MONETARY = "en_US.UTF-8";
|
||||
LC_NAME = "en_US.UTF-8";
|
||||
LC_NUMERIC = "en_US.UTF-8";
|
||||
LC_PAPER = "en_US.UTF-8";
|
||||
LC_TELEPHONE = "en_US.UTF-8";
|
||||
LC_TIME = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
services.xserver.enable = true;
|
||||
|
||||
# Configure keymap in X11
|
||||
services.xserver.xkb = {
|
||||
layout = "us";
|
||||
variant = "";
|
||||
};
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
services.printing.enable = true;
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.xserver.libinput.enable = true;
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,41 +8,22 @@
|
|||
...
|
||||
}:
|
||||
{
|
||||
options.cursor-users = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "List of users to configure cursors for";
|
||||
};
|
||||
|
||||
config = {
|
||||
# Install cursor packages system-wide
|
||||
environment.systemPackages = with pkgs; [
|
||||
bibata-cursors
|
||||
];
|
||||
|
||||
# Set up XDG data directories for cursor themes
|
||||
environment.pathsToLink = [ "/share/icons" ];
|
||||
|
||||
# Configure hjem for specified users - set cursor theme in user config
|
||||
hjem = lib.mkIf (config.cursor-users != [ ]) {
|
||||
users = lib.genAttrs config.cursor-users (username: {
|
||||
enable = true;
|
||||
files = {
|
||||
# GTK cursor settings
|
||||
".config/gtk-3.0/settings.ini".text = ''
|
||||
[Settings]
|
||||
gtk-cursor-theme-name=Bibata-Modern-Ice
|
||||
gtk-cursor-theme-size=24
|
||||
'';
|
||||
# X11/Wayland cursor environment
|
||||
".config/environment.d/cursor.conf".text = ''
|
||||
XCURSOR_THEME=Bibata-Modern-Ice
|
||||
XCURSOR_SIZE=24
|
||||
HYPRCURSOR_THEME=Bibata-Modern-Ice
|
||||
HYPRCURSOR_SIZE=24
|
||||
'';
|
||||
};
|
||||
});
|
||||
hjem.users."${config.username}" = {
|
||||
enable = true;
|
||||
files = {
|
||||
# GTK cursor settings
|
||||
".config/gtk-3.0/settings.ini".text = ''
|
||||
[Settings]
|
||||
gtk-cursor-theme-name=Bibata-Modern-Ice
|
||||
gtk-cursor-theme-size=24
|
||||
'';
|
||||
# X11/Wayland cursor environment
|
||||
".config/environment.d/cursor.conf".text = ''
|
||||
XCURSOR_THEME=Bibata-Modern-Ice
|
||||
XCURSOR_SIZE=24
|
||||
HYPRCURSOR_THEME=Bibata-Modern-Ice
|
||||
HYPRCURSOR_SIZE=24
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,20 +1,25 @@
|
|||
{ self, inputs, ... }:
|
||||
{
|
||||
self,
|
||||
inputs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
flake.nixosModules.user =
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.jingus = {
|
||||
users.users."${config.username}" = {
|
||||
isNormalUser = true;
|
||||
description = "jingus";
|
||||
description = "${config.username} user account";
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
"docker"
|
||||
"dialout"
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
packages = with pkgs; [
|
||||
# thunderbird
|
||||
];
|
||||
};
|
||||
hjem.users."${config.username}".enable = true;
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +0,0 @@
|
|||
{ self, inputs, ... }:
|
||||
{
|
||||
flake.nixosModules.user-jingo =
|
||||
{ ... }:
|
||||
{
|
||||
hyprland-users = [ "jingo" ];
|
||||
wallpaper-users = [ "jingo" ];
|
||||
};
|
||||
}
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
{ self, inputs, ... }:
|
||||
{
|
||||
flake.nixosModules.user-jingus =
|
||||
{ ... }:
|
||||
{
|
||||
niri-users = [ "jingus" ];
|
||||
wallpaper-users = [ "jingus" ];
|
||||
};
|
||||
}
|
||||
|
|
@ -8,29 +8,20 @@
|
|||
...
|
||||
}:
|
||||
{
|
||||
|
||||
options.wallpaper-users = lib.mkOption {
|
||||
options.wallpaper-destinations = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "List of users to include wallpapers for";
|
||||
};
|
||||
|
||||
options.wallpaper-destination = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "Pictures/Wallpapers";
|
||||
description = "Destination path for wallpapers";
|
||||
default = [];
|
||||
description = "Destination paths for wallpapers";
|
||||
};
|
||||
|
||||
config = {
|
||||
hjem = lib.mkIf (config.wallpaper-users != [ ]) {
|
||||
users = lib.genAttrs config.wallpaper-users (username: {
|
||||
enable = true;
|
||||
files = {
|
||||
"${config.wallpaper-destination}".source = pkgs.runCommand "wallpapers" { } ''
|
||||
mkdir -p $out
|
||||
cp -r ${../../../assets/wallpapers}/* $out/
|
||||
'';
|
||||
};
|
||||
hjem.users."${config.username}" = {
|
||||
enable = true;
|
||||
files = lib.genAttrs config.wallpaper-destinations (_: {
|
||||
source = pkgs.runCommand "wallpapers" { } ''
|
||||
mkdir -p $out
|
||||
cp -r ${../../../assets/wallpapers}/* $out/
|
||||
'';
|
||||
});
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -13,23 +13,14 @@
|
|||
self.nixosModules.wallpapers
|
||||
];
|
||||
|
||||
options.niri-users = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [ ];
|
||||
description = "List of users to configure niri for";
|
||||
};
|
||||
|
||||
config = {
|
||||
programs.niri = {
|
||||
enable = true;
|
||||
package = self.packages.${pkgs.stdenv.hostPlatform.system}.myNiri;
|
||||
};
|
||||
|
||||
# Enable cursors for niri users
|
||||
cursor-users = lib.mkDefault config.niri-users;
|
||||
|
||||
# Set wallpaper destination explicitly
|
||||
wallpaper-destination = "Pictures/Wallpapers";
|
||||
wallpaper-destinations = [ "Pictures/Wallpapers" ];
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
{ self, inputs, ... }:
|
||||
{
|
||||
perSystem =
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
self',
|
||||
...
|
||||
}:
|
||||
{
|
||||
packages.ralph = pkgs.rustPlatform.buildRustPackage rec {
|
||||
pname = "ralph-cli";
|
||||
version = "2.5.1";
|
||||
|
||||
src = pkgs.fetchFromGitHub {
|
||||
owner = "mikeyobrien";
|
||||
repo = "ralph-orchestrator";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-K3/nTun6mwFwYagKtQDlKsnTpoAMRy62x5TtfRMRjQc=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-BuCM2CAXRR8GqUyFvgpAECVXdeafzuViiX8EtzbHGoY=";
|
||||
doCheck = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -14,21 +14,23 @@
|
|||
];
|
||||
|
||||
# Configure hjem for specified users
|
||||
hjem = lib.mkIf (config.hyprland-users != [ ]) {
|
||||
users = lib.genAttrs config.hyprland-users (username: {
|
||||
enable = true;
|
||||
files = {
|
||||
".config/waybar/config.jsonc".source = ./config/config.jsonc;
|
||||
".config/waybar/style.css".source = ./config/style.css;
|
||||
".config/waybar/power_menu.xml".source = ./config/power_menu.xml;
|
||||
".config/waybar/mediaplayer.py".source = ./config/mediaplayer.py;
|
||||
".config/waybar/icons/meson.build".source = ./config/icons/meson.build;
|
||||
".config/waybar/icons/waybar_icons.gresource.xml".source = ./config/icons/waybar_icons.gresource.xml;
|
||||
".config/waybar/icons/waybar-privacy-audio-input-symbolic.svg".source = ./config/icons/waybar-privacy-audio-input-symbolic.svg;
|
||||
".config/waybar/icons/waybar-privacy-audio-output-symbolic.svg".source = ./config/icons/waybar-privacy-audio-output-symbolic.svg;
|
||||
".config/waybar/icons/waybar-privacy-screen-share-symbolic.svg".source = ./config/icons/waybar-privacy-screen-share-symbolic.svg;
|
||||
};
|
||||
});
|
||||
hjem.users."${config.username}" = {
|
||||
enable = true;
|
||||
files = {
|
||||
".config/waybar/config.jsonc".source = ./config/config.jsonc;
|
||||
".config/waybar/style.css".source = ./config/style.css;
|
||||
".config/waybar/power_menu.xml".source = ./config/power_menu.xml;
|
||||
".config/waybar/mediaplayer.py".source = ./config/mediaplayer.py;
|
||||
".config/waybar/icons/meson.build".source = ./config/icons/meson.build;
|
||||
".config/waybar/icons/waybar_icons.gresource.xml".source =
|
||||
./config/icons/waybar_icons.gresource.xml;
|
||||
".config/waybar/icons/waybar-privacy-audio-input-symbolic.svg".source =
|
||||
./config/icons/waybar-privacy-audio-input-symbolic.svg;
|
||||
".config/waybar/icons/waybar-privacy-audio-output-symbolic.svg".source =
|
||||
./config/icons/waybar-privacy-audio-output-symbolic.svg;
|
||||
".config/waybar/icons/waybar-privacy-screen-share-symbolic.svg".source =
|
||||
./config/icons/waybar-privacy-screen-share-symbolic.svg;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue