feat: ralph, waybar, formatted
This commit is contained in:
parent
774daebdff
commit
1eb01464e1
38 changed files with 1913 additions and 609 deletions
|
|
@ -1,52 +1,53 @@
|
|||
{ self, inputs, ... }: {
|
||||
flake.nixosModules.base = { pkgs, lib, ... }: {
|
||||
imports = [ inputs.hjem.nixosModules.default ];
|
||||
{ self, inputs, ... }:
|
||||
{
|
||||
flake.nixosModules.base =
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
imports = [ inputs.hjem.nixosModules.default ];
|
||||
|
||||
nixpkgs.overlays = [ inputs.millennium.overlays.default ];
|
||||
# Set your time zone.
|
||||
time.timeZone = "America/Chicago";
|
||||
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:
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,41 +1,49 @@
|
|||
{ self, inputs, ... }: {
|
||||
flake.nixosModules.cursors = { pkgs, lib, config, ... }: {
|
||||
options.cursor-users = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
description = "List of users to configure cursors for";
|
||||
};
|
||||
{ self, inputs, ... }:
|
||||
{
|
||||
flake.nixosModules.cursors =
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
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
|
||||
];
|
||||
config = {
|
||||
# Install cursor packages system-wide
|
||||
environment.systemPackages = with pkgs; [
|
||||
bibata-cursors
|
||||
];
|
||||
|
||||
# Set up XDG data directories for cursor themes
|
||||
environment.pathsToLink = [ "/share/icons" ];
|
||||
# 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
|
||||
'';
|
||||
};
|
||||
});
|
||||
# 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
|
||||
'';
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,85 @@
|
|||
{ self, inputs, ... }: {
|
||||
flake.nixosModules.development = { pkgs, lib, ... }: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
git
|
||||
zed-editor
|
||||
opencode
|
||||
];
|
||||
};
|
||||
{ self, inputs, ... }:
|
||||
{
|
||||
flake.nixosModules.development =
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
config = {
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim
|
||||
git
|
||||
zed-editor
|
||||
opencode
|
||||
direnv
|
||||
nix-direnv
|
||||
];
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
|
||||
# Nice features
|
||||
enableCompletion = true;
|
||||
enableAutosuggestions = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
|
||||
# Optional prompt theme — Powerlevel10k is very popular
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [
|
||||
"git"
|
||||
"direnv"
|
||||
"z"
|
||||
];
|
||||
theme = "robbyrussell"; # or try "agnoster"
|
||||
};
|
||||
|
||||
# HISTORY
|
||||
histSize = 10000;
|
||||
|
||||
# Extra config (this is appended at the end of .zshrc)
|
||||
promptInit = ''
|
||||
# Aliases
|
||||
alias ll="ls -alF"
|
||||
|
||||
# Load nix-direnv if available
|
||||
if command -v direnv >/dev/null; then
|
||||
eval "$(direnv hook zsh)"
|
||||
fi
|
||||
|
||||
# Better Ctrl-R incremental search
|
||||
bindkey '^R' history-incremental-search-backward
|
||||
|
||||
# Improve cd: automatically pushd to track dirs
|
||||
setopt auto_pushd
|
||||
setopt pushd_ignore_dups
|
||||
|
||||
# Enable command correction
|
||||
setopt correct
|
||||
'';
|
||||
};
|
||||
|
||||
# Configure starship prompt
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
# enableZshIntegration = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
character = {
|
||||
success_symbol = "[➜](bold green)";
|
||||
error_symbol = "[✗](bold red)";
|
||||
};
|
||||
directory.truncate_to_repo = false;
|
||||
nix_shell = {
|
||||
disabled = false;
|
||||
symbol = "❄️ ";
|
||||
format = "[$symbol$name]($style) ";
|
||||
};
|
||||
git_branch.symbol = "🌿 ";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,17 @@
|
|||
{ self, inputs, ... }: {
|
||||
flake.nixosModules.fonts = { pkgs, lib, ... }: {
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-color-emoji
|
||||
liberation_ttf
|
||||
nerd-fonts.martian-mono
|
||||
dina-font
|
||||
proggyfonts
|
||||
ripgrep
|
||||
];
|
||||
};
|
||||
{ self, inputs, ... }:
|
||||
{
|
||||
flake.nixosModules.fonts =
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-color-emoji
|
||||
liberation_ttf
|
||||
nerd-fonts.martian-mono
|
||||
dina-font
|
||||
proggyfonts
|
||||
ripgrep
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,18 +1,21 @@
|
|||
{ self, inputs, ... }: {
|
||||
flake.nixosModules.gaming = { pkgs, lib, ... }: {
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
package = pkgs.millennium-steam;
|
||||
gamescopeSession.enable = true;
|
||||
{ self, inputs, ... }:
|
||||
{
|
||||
flake.nixosModules.gaming =
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
package = pkgs.millennium-steam;
|
||||
gamescopeSession.enable = true;
|
||||
};
|
||||
programs.gamemode.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
mangohud
|
||||
protonup-ng
|
||||
heroic
|
||||
];
|
||||
environment.sessionVariables = {
|
||||
STEAM_EXTRA_COMPAT_TOOLS_PATH = "/home/user/.steam/root/compatibilitytools.d";
|
||||
};
|
||||
};
|
||||
programs.gamemode.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
mangohud
|
||||
protonup-ng
|
||||
heroic
|
||||
];
|
||||
environment.sessionVariables = {
|
||||
STEAM_EXTRA_COMPAT_TOOLS_PATH = "/home/user/.steam/root/compatibilitytools.d";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +1,22 @@
|
|||
{ self, inputs, ... }: {
|
||||
flake.nixosModules.pipewire = { pkgs, lib, ... }: {
|
||||
# Enable sound with pipewire.
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
{ self, inputs, ... }:
|
||||
{
|
||||
flake.nixosModules.pipewire =
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
# Enable sound with pipewire.
|
||||
services.pulseaudio.enable = false;
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
# If you want to use JACK applications, uncomment this
|
||||
#jack.enable = true;
|
||||
|
||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||
# no need to redefine it in your config for now)
|
||||
#media-session.enable = true;
|
||||
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||
# no need to redefine it in your config for now)
|
||||
#media-session.enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,20 @@
|
|||
|
||||
{ self, inputs, ... }: {
|
||||
flake.nixosModules.user = { pkgs, lib, ... }: {
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.jingus = {
|
||||
isNormalUser = true;
|
||||
description = "jingus";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
shell = pkgs.zsh;
|
||||
packages = with pkgs; [
|
||||
# thunderbird
|
||||
];
|
||||
{ self, inputs, ... }:
|
||||
{
|
||||
flake.nixosModules.user =
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.jingus = {
|
||||
isNormalUser = true;
|
||||
description = "jingus";
|
||||
extraGroups = [
|
||||
"networkmanager"
|
||||
"wheel"
|
||||
];
|
||||
shell = pkgs.zsh;
|
||||
packages = with pkgs; [
|
||||
# thunderbird
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
{ self, inputs, ... }: {
|
||||
flake.nixosModules.user-jingo = { ... }: {
|
||||
hyprland-users = [ "jingo" ];
|
||||
};
|
||||
{ self, inputs, ... }:
|
||||
{
|
||||
flake.nixosModules.user-jingo =
|
||||
{ ... }:
|
||||
{
|
||||
hyprland-users = [ "jingo" ];
|
||||
wallpaper-users = [ "jingo" ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{ self, inputs, ... }: {
|
||||
flake.nixosModules.user-jingus = { ... }: {
|
||||
niri-users = [ "jingus" ];
|
||||
wallpaper-users = [ "jingus" ];
|
||||
};
|
||||
{ self, inputs, ... }:
|
||||
{
|
||||
flake.nixosModules.user-jingus =
|
||||
{ ... }:
|
||||
{
|
||||
niri-users = [ "jingus" ];
|
||||
wallpaper-users = [ "jingus" ];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,30 +1,38 @@
|
|||
{ self, inputs, ... }: {
|
||||
flake.nixosModules.wallpapers = { pkgs, lib, config, ... }: {
|
||||
{ self, inputs, ... }:
|
||||
{
|
||||
flake.nixosModules.wallpapers =
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
options.wallpaper-users = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.str;
|
||||
default = [];
|
||||
description = "List of users to include wallpapers for";
|
||||
};
|
||||
options.wallpaper-users = 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";
|
||||
};
|
||||
options.wallpaper-destination = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "Pictures/Wallpapers";
|
||||
description = "Destination path 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/
|
||||
'';
|
||||
};
|
||||
});
|
||||
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/
|
||||
'';
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue