1
1
Fork 0

Compare commits

...

12 commits

Author SHA1 Message Date
cfbeea126b
nix: update flake.lock
Signed-off-by: Myned <dev@bjork.tech>
2024-12-26 00:32:47 -05:00
461cb87e69
nix: format without profile sorting
Signed-off-by: Myned <dev@bjork.tech>
2024-12-26 00:32:38 -05:00
140359c992
waybar: split clock into date and time modules
Signed-off-by: Myned <dev@bjork.tech>
2024-12-26 00:31:30 -05:00
0c275d22df
waybar: add power-profiles-daemon module
Signed-off-by: Myned <dev@bjork.tech>
2024-12-26 00:31:06 -05:00
4ead66e6b1
hypridle: fix red background when locking
Signed-off-by: Myned <dev@bjork.tech>
2024-12-26 00:29:16 -05:00
4ba4d8cfab
starship: initial program
Signed-off-by: Myned <dev@bjork.tech>
2024-12-26 00:26:26 -05:00
66f8a9eb17
fish: remove custom prompt
Signed-off-by: Myned <dev@bjork.tech>
2024-12-26 00:25:38 -05:00
8b19ff9470
stylix: initial disabled setting
Signed-off-by: Myned <dev@bjork.tech>
2024-12-26 00:25:24 -05:00
4f0804770f
gtklock: initial disabled program
Signed-off-by: Myned <dev@bjork.tech>
2024-12-26 00:24:32 -05:00
9bb40136c3
bash: initial program
Signed-off-by: Myned <dev@bjork.tech>
2024-12-26 00:24:09 -05:00
1144ff7ee2
niri: center-focused-column with ultrawide display
Signed-off-by: Myned <dev@bjork.tech>
2024-12-26 00:23:48 -05:00
cca7af02b4
niri: modify input
Signed-off-by: Myned <dev@bjork.tech>
2024-12-26 00:23:10 -05:00
17 changed files with 953 additions and 98 deletions

View file

@ -31,33 +31,24 @@
# TODO: Upgrade to NixOS 24.11 stable
nixpkgs-stable = flake "github:NixOS/nixpkgs/nixos-24.05";
# Common flakes
aagl-gtk-on-nix-stable = flake "github:ezKEa/aagl-gtk-on-nix/release-24.05" // stable "nixpkgs";
home-manager-stable = flake "github:nix-community/home-manager/release-24.05" // stable "nixpkgs";
nix-index-database-stable = flake "github:nix-community/nix-index-database" // stable "nixpkgs";
# Desktop flakes
aagl-gtk-on-nix-stable = flake "github:ezKEa/aagl-gtk-on-nix/release-24.05" // stable "nixpkgs";
### Unstable
nixpkgs-unstable = flake "github:NixOS/nixpkgs/nixos-unstable";
# Common flakes
agenix = flake "github:ryantm/agenix" // unstable "nixpkgs";
arion = flake "github:hercules-ci/arion" // unstable "nixpkgs";
compose2nix = flake "github:aksiksi/compose2nix" // unstable "nixpkgs";
disko = flake "github:nix-community/disko" // unstable "nixpkgs";
home-manager-unstable = flake "github:nix-community/home-manager" // unstable "nixpkgs";
nix-index-database-unstable = flake "github:nix-community/nix-index-database" // unstable "nixpkgs";
# Console flakes
jovian-nixos = flake "github:Jovian-Experiments/Jovian-NixOS" // unstable "nixpkgs";
# Desktop flakes
aagl-gtk-on-nix-unstable = flake "github:ezKEa/aagl-gtk-on-nix" // unstable "nixpkgs";
agenix = flake "github:ryantm/agenix" // unstable "nixpkgs";
ags = flake "github:Aylur/ags" // unstable "nixpkgs";
anyrun = flake "github:Kirottu/anyrun" // unstable "nixpkgs";
arion = flake "github:hercules-ci/arion" // unstable "nixpkgs";
bitwarden-menu = flake "github:firecat53/bitwarden-menu" // unstable "nixpkgs";
compose2nix = flake "github:aksiksi/compose2nix" // unstable "nixpkgs";
conduwuit = flake "github:Myned/conduwuit" // unstable "nixpkgs";
disko = flake "github:nix-community/disko" // unstable "nixpkgs";
fw-fanctrl = flake "github:TamtamHero/fw-fanctrl/packaging/nix" // unstable "nixpkgs";
home-manager-unstable = flake "github:nix-community/home-manager" // unstable "nixpkgs";
hypridle = flake "github:hyprwm/hypridle" // unstable "nixpkgs";
hyprland = flake "github:hyprwm/Hyprland?ref=v0.45.2" // unstable "nixpkgs";
hyprland-contrib = flake "github:hyprwm/contrib" // unstable "nixpkgs";
@ -65,15 +56,15 @@
hyprlock = flake "github:hyprwm/hyprlock" // unstable "nixpkgs";
hyprpaper = flake "github:hyprwm/hyprpaper" // unstable "nixpkgs";
hyprpicker = flake "github:hyprwm/hyprpicker" // unstable "nixpkgs";
jovian-nixos = flake "github:Jovian-Experiments/Jovian-NixOS" // unstable "nixpkgs";
niri = flake "github:sodiboo/niri-flake" // unstable "nixpkgs";
nix-flatpak = flake "github:gmodena/nix-flatpak?ref=v0.5.1";
nix-index-database-unstable = flake "github:nix-community/nix-index-database" // unstable "nixpkgs";
nix-vscode-extensions = flake "github:nix-community/nix-vscode-extensions" // unstable "nixpkgs";
nixd = flake "github:nix-community/nixd" // unstable "nixpkgs";
stylix = flake "github:danth/stylix" // unstable "nixpkgs";
walker = flake "github:abenz1267/walker?ref=v0.10.15" // unstable "nixpkgs";
# Server flakes
conduwuit = flake "github:Myned/conduwuit" // unstable "nixpkgs";
### Staging
nixpkgs-staging-next = flake "github:NixOS/nixpkgs/staging-next";
@ -119,11 +110,7 @@
#!! Avoid globally importing modules that are not guarded by .enable
# https://github.com/NixOS/nixpkgs/issues/137168
(
{
config,
inputs,
...
}: {
{inputs, ...}: {
imports = [
inputs."aagl-gtk-on-nix-${branch}".nixosModules.default
inputs."home-manager-${branch}".nixosModules.home-manager
@ -133,9 +120,11 @@
inputs.disko.nixosModules.disko
inputs.fw-fanctrl.nixosModules.default
inputs.niri.nixosModules.niri
inputs.stylix.nixosModules.stylix
];
home-manager.users.${config.custom.username}.imports = [
# TODO: Use home-manager.sharedModules for all options
home-manager.sharedModules = [
inputs."nix-index-database-${branch}".hmModules.nix-index
];
}

255
flake.lock generated
View file

@ -209,6 +209,72 @@
"type": "github"
}
},
"base16": {
"inputs": {
"fromYaml": "fromYaml"
},
"locked": {
"lastModified": 1732200724,
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
"owner": "SenchoPens",
"repo": "base16.nix",
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "base16.nix",
"type": "github"
}
},
"base16-fish": {
"flake": false,
"locked": {
"lastModified": 1622559957,
"narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
"owner": "tomyun",
"repo": "base16-fish",
"rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
"type": "github"
},
"original": {
"owner": "tomyun",
"repo": "base16-fish",
"type": "github"
}
},
"base16-helix": {
"flake": false,
"locked": {
"lastModified": 1725860795,
"narHash": "sha256-Z2o8VBPW3I+KKTSfe25kskz0EUj7MpUh8u355Z1nVsU=",
"owner": "tinted-theming",
"repo": "base16-helix",
"rev": "7f795bf75d38e0eea9fed287264067ca187b88a9",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-helix",
"type": "github"
}
},
"base16-vim": {
"flake": false,
"locked": {
"lastModified": 1731949548,
"narHash": "sha256-XIDexXM66sSh5j/x70e054BnUsviibUShW7XhbDGhYo=",
"owner": "tinted-theming",
"repo": "base16-vim",
"rev": "61165b1632409bd55e530f3dbdd4477f011cadc6",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "base16-vim",
"type": "github"
}
},
"bitwarden-menu": {
"inputs": {
"nixpkgs": [
@ -560,6 +626,22 @@
"type": "github"
}
},
"flake-compat_10": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
@ -895,6 +977,27 @@
"type": "github"
}
},
"flake-utils_6": {
"inputs": {
"systems": [
"stylix",
"systems"
]
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flakegen": {
"inputs": {
"systems": "systems_6"
@ -913,6 +1016,22 @@
"type": "github"
}
},
"fromYaml": {
"flake": false,
"locked": {
"lastModified": 1731966426,
"narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
"owner": "SenchoPens",
"repo": "fromYaml",
"rev": "106af9e2f715e2d828df706c386a685698f3223b",
"type": "github"
},
"original": {
"owner": "SenchoPens",
"repo": "fromYaml",
"type": "github"
}
},
"fw-fanctrl": {
"inputs": {
"flake-compat": "flake-compat_7",
@ -1009,6 +1128,23 @@
"type": "github"
}
},
"gnome-shell": {
"flake": false,
"locked": {
"lastModified": 1732369855,
"narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
"owner": "GNOME",
"repo": "gnome-shell",
"rev": "dadd58f630eeea41d645ee225a63f719390829dc",
"type": "github"
},
"original": {
"owner": "GNOME",
"ref": "47.2",
"repo": "gnome-shell",
"type": "github"
}
},
"haskell-flake": {
"locked": {
"lastModified": 1675296942,
@ -1087,6 +1223,27 @@
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733085484,
"narHash": "sha256-dVmNuUajnU18oHzBQWZm1BQtANCHaqNuxTHZQ+GN0r8=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "c1fee8d4a60b89cae12b288ba9dbc608ff298163",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
@ -2401,6 +2558,7 @@
"nixpkgs-staging-next": "nixpkgs-staging-next",
"nixpkgs-unstable": "nixpkgs-unstable",
"steamtinkerlaunch": "steamtinkerlaunch",
"stylix": "stylix",
"thunderbird-gnome-theme": "thunderbird-gnome-theme",
"virtio-win": "virtio-win",
"walker": "walker"
@ -2439,6 +2597,38 @@
"type": "github"
}
},
"stylix": {
"inputs": {
"base16": "base16",
"base16-fish": "base16-fish",
"base16-helix": "base16-helix",
"base16-vim": "base16-vim",
"flake-compat": "flake-compat_10",
"flake-utils": "flake-utils_6",
"gnome-shell": "gnome-shell",
"home-manager": "home-manager_2",
"nixpkgs": [
"nixpkgs-unstable"
],
"systems": "systems_13",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-tmux": "tinted-tmux"
},
"locked": {
"lastModified": 1734885904,
"narHash": "sha256-NxA4JnLuXyle2/nUKDbW8vORwSd+Z20limIl7DhlZbs=",
"owner": "danth",
"repo": "stylix",
"rev": "4d87b96ceca38532f39c1b7efd8a9235bfcee3d6",
"type": "github"
},
"original": {
"owner": "danth",
"repo": "stylix",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
@ -2499,6 +2689,21 @@
"type": "github"
}
},
"systems_13": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1689347949,
@ -2635,6 +2840,56 @@
"type": "github"
}
},
"tinted-foot": {
"flake": false,
"locked": {
"lastModified": 1726913040,
"narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github"
}
},
"tinted-kitty": {
"flake": false,
"locked": {
"lastModified": 1716423189,
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {
"lastModified": 1729501581,
"narHash": "sha256-1ohEFMC23elnl39kxWnjzH1l2DFWWx4DhFNNYDTYt54=",
"owner": "tinted-theming",
"repo": "tinted-tmux",
"rev": "f0e7f7974a6441033eb0a172a0342e96722b4f14",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "tinted-tmux",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [

View file

@ -124,6 +124,10 @@
flake = false;
url = "github:sonic2kk/steamtinkerlaunch";
};
stylix = {
inputs.nixpkgs.follows = "nixpkgs-unstable";
url = "github:danth/stylix";
};
thunderbird-gnome-theme = {
flake = false;
url = "github:rafaelmardojai/thunderbird-gnome-theme";

View file

@ -28,12 +28,12 @@ in {
scroll-factor = 0.5;
};
# BUG: Applies to trackball device, switch to "flat" when per-device configuration is supported
# https://github.com/YaLTeR/niri/issues/371
mouse = {
# BUG: Applies to trackball device, switch to "flat" when per-device configuration is supported
# https://github.com/YaLTeR/niri/issues/371
accel-profile = "adaptive";
accel-speed = 0.0;
accel-speed = -0.1;
};
trackball = {

View file

@ -17,7 +17,7 @@ in {
gap = config.custom.gap / 2;
in {
gaps = gap;
#// center-focused-column = "always";
center-focused-column = mkIf config.custom.ultrawide "always";
always-center-single-column = true;
# TODO: Uncomment after next release > v1.10.1

View file

@ -0,0 +1,22 @@
{
config,
lib,
...
}:
with lib; let
cfg = config.custom.programs.bash;
in {
options.custom.programs.bash = {
enable = mkOption {default = false;};
};
config = mkIf cfg.enable {
home-manager.sharedModules = [
{
programs.bash = {
enable = true;
};
}
];
};
}

View file

@ -6,6 +6,7 @@
with lib; {
config.custom.programs = mkMerge [
(mkIf config.custom.default {
bash.enable = true;
direnv.enable = true;
fastfetch.enable = true;
fish.enable = true;
@ -19,6 +20,7 @@ with lib; {
nushell.enable = true;
polkit.enable = true;
ssh.enable = true;
starship.enable = true;
sudo.enable = true;
tmux.enable = true;
})
@ -52,6 +54,7 @@ with lib; {
gamescope.enable = true;
#// gnome-shell.enable = true;
gpg.enable = true;
#// gtklock.enable = true;
hyprlock.enable = true;
libreoffice.enable = true;
#// librewolf.enable = true;

View file

@ -214,72 +214,40 @@ in {
};
interactiveShellInit = ''
### Prompt
# Disable greeting
set -g fish_greeting
function fish_prompt --description 'Write out the prompt'
set -l last_status $status
set -l normal (set_color normal)
set -l status_color (set_color brgreen)
set -l cwd_color (set_color $fish_color_cwd)
set -l vcs_color (set_color brpurple)
set -l prompt_status ""
# Since we display the prompt on a new line allow the directory names to be longer.
set -q fish_prompt_pwd_dir_length
or set -lx fish_prompt_pwd_dir_length 0
# Color the prompt differently when we're root
set -l suffix ''
if functions -q fish_is_root_user; and fish_is_root_user
if set -q fish_color_cwd_root
set cwd_color (set_color $fish_color_cwd_root)
end
set suffix '#'
end
# Color the prompt in red on error
if test $last_status -ne 0
set status_color (set_color $fish_color_error)
set prompt_status $status_color "[" $last_status "]" $normal
end
echo -s (prompt_login) ' ' $cwd_color (prompt_pwd) $vcs_color (fish_vcs_prompt) $normal ' ' $prompt_status
echo -n -s $status_color $suffix ' ' $normal
end
### Interactive
# Default is brblack (bright0)
set -g fish_color_autosuggestion brgreen
function exit -d 'Always exit successfully when interactive'
builtin exit 0
end
### Interactive
# function exit -d 'Always exit successfully when interactive'
# builtin exit 0
# end
# TODO: Pass flags properly
# TODO: Convert to bash
function run -d 'Run packages via nixpkg flakes'
for i in (seq (count $argv))
if ! string match -r '^-' -- $argv[$i]
set argv[$i] (string replace -r ^ nixpkgs# $argv[$i])
end
end
nix run $argv
end
# function run -d 'Run packages via nixpkg flakes'
# for i in (seq (count $argv))
# if ! string match -r '^-' -- $argv[$i]
# set argv[$i] (string replace -r ^ nixpkgs# $argv[$i])
# end
# end
# nix run $argv
# end
function shell -d 'Open packages in new shell via nixpkg flakes'
for i in (seq (count $argv))
if ! string match -r '^-' -- $argv[$i]
set argv[$i] (string replace -r ^ nixpkgs# $argv[$i])
end
end
nix shell $argv
end
# function shell -d 'Open packages in new shell via nixpkg flakes'
# for i in (seq (count $argv))
# if ! string match -r '^-' -- $argv[$i]
# set argv[$i] (string replace -r ^ nixpkgs# $argv[$i])
# end
# end
# nix shell $argv
# end
function activate -d 'Activate Python venv'
source .venv/bin/activate.fish
end
# function activate -d 'Activate Python venv'
# source .venv/bin/activate.fish
# end
'';
};
};

View file

@ -0,0 +1,22 @@
{
config,
lib,
pkgs,
...
}:
with lib; let
cfg = config.custom.programs.gtklock;
in {
options.custom.programs.gtklock = {
enable = mkOption {default = false;};
};
config = mkIf cfg.enable {
# Manually create entry in PAM in lieu of official module
# https://github.com/NixOS/nixpkgs/issues/240886
security.pam.services.gtklock = {};
# https://github.com/jovanlanik/gtklock
environment.systemPackages = [pkgs.gtklock];
};
}

View file

@ -0,0 +1,229 @@
{
config,
lib,
...
}:
with lib; let
cfg = config.custom.programs.starship;
in {
options.custom.programs.starship = {
enable = mkOption {default = false;};
transience = mkOption {default = true;};
};
config = mkIf cfg.enable {
# https://starship.rs/
# https://wiki.nixos.org/wiki/Starship
programs.starship.enable = true;
home-manager.sharedModules = [
{
programs = {
starship = {
enable = true;
enableTransience = cfg.transience;
# https://starship.rs/config/
# https://www.nerdfonts.com/cheat-sheet
settings =
### Presets
# https://starship.rs/presets/
#?? starship preset PRESET | wl-copy
#!! Manually import from preset file
# https://github.com/nix-community/home-manager/issues/4231
recursiveUpdate (
recursiveUpdate
(fromTOML (readFile ./presets/nerd-font-symbols.toml))
(fromTOML (readFile ./presets/no-runtime-versions.toml))
)
{
### Overrides
# https://starship.rs/config/#prompt
add_newline = false;
format = concatStringsSep "" [
# Top left
"$shell"
"$all"
"$fill"
# Top right
"$cmd_duration"
"$time"
"$battery"
"$os"
"$line_break"
# Bottom left
"$jobs"
"$character"
];
# https://starship.rs/config/#battery
battery = {
format = " [$symbol]($style)";
display = [
{
threshold = 15;
style = "bold red";
}
{
threshold = 30;
style = "bold yellow";
}
];
};
# https://starship.rs/config/#character
character = {
error_symbol = "[](bold red) ";
success_symbol = "[](bold) ";
};
# https://starship.rs/config/#command-duration
cmd_duration = {
format = "[󱎫 $duration](#586e75)";
min_time = 5 * 1000; # Milliseconds
};
# https://starship.rs/config/#directory
directory = {
format = " [$path]($style)[$read_only]($read_only_style) ";
repo_root_format = " [$before_root_path]($before_repo_root_style)[$repo_root]($repo_root_style)[$path]($style)[$read_only]($read_only_style) ";
style = "bold #657b83";
before_repo_root_style = "bold #586e75";
repo_root_style = "bold";
fish_style_pwd_dir_length = 1;
truncation_length = 1;
truncation_symbol = "/";
use_os_path_sep = false;
};
# https://starship.rs/config/#fill
fill = {
symbol = " ";
};
# https://starship.rs/config/#git-branch
git_branch = {
format = "[$symbol$branch(:$remote_branch)]($style) ";
};
# https://starship.rs/config/#hostname
hostname = {
format = "[[@](#586e75)$hostname]($style) ";
style = "bold";
};
# https://starship.rs/config/#local-ip
localip = {
disabled = false;
};
# https://starship.rs/config/#os
os = {
disabled = false;
style = "bold";
# "ICON " required for proper size
symbols = {
AIX = " ";
Alpaquita = " ";
AlmaLinux = " ";
Alpine = " ";
Amazon = " ";
Android = " ";
Arch = " ";
Artix = " ";
CentOS = " ";
Debian = " ";
DragonFly = " ";
Emscripten = " 󰯁 ";
EndeavourOS = " ";
Fedora = " ";
FreeBSD = " ";
Garuda = " ";
Gentoo = " ";
HardenedBSD = " 󰥯 ";
Illumos = " ";
Kali = " ";
Linux = " 󰌽 ";
Mabox = " ";
Macos = " ";
Manjaro = " ";
Mariner = " ";
MidnightBSD = " 󰖔 ";
Mint = " 󰣭 ";
NetBSD = " ";
NixOS = " ";
OpenBSD = " ";
OpenCloudOS = " ";
openEuler = " 󰏒 ";
openSUSE = " ";
OracleLinux = " ";
Pop = " ";
Raspbian = " ";
Redhat = " ";
RedHatEnterprise = " ";
RockyLinux = " ";
Redox = " 󰙨 ";
Solus = " ";
SUSE = " ";
Ubuntu = " ";
Ultramarine = " 󰜃 ";
Unknown = " ";
Void = " ";
Windows = " ";
};
};
# https://starship.rs/config/#shell
shell = {
disabled = false;
style = "bold";
bash_indicator = " ";
cmd_indicator = " ";
elvish_indicator = "󰲋 ";
fish_indicator = " ";
ion_indicator = " ";
nu_indicator = "󰟢 ";
powershell_indicator = " ";
tcsh_indicator = " ";
unknown_indicator = " ";
xonsh_indicator = " ";
zsh_indicator = " ";
};
# https://starship.rs/config/#time
time = {
disabled = false;
format = " [$time]($style)";
style = "bold #657b83";
# https://docs.rs/chrono/latest/chrono/format/strftime/index.html
time_format = "%a %b %-d %I:%M%P";
};
# https://starship.rs/config/#username
username = {
format = "[$user]($style)";
style_user = "bold #6c71c4";
show_always = true;
};
};
};
fish.functions = mkIf cfg.transience {
# https://starship.rs/advanced-config/#transientprompt-and-transientrightprompt-in-fish
starship_transient_prompt_func = ''
starship module character
'';
};
};
}
];
};
}

View file

@ -0,0 +1,170 @@
[aws]
symbol = " "
[buf]
symbol = " "
[c]
symbol = " "
[conda]
symbol = " "
[crystal]
symbol = " "
[dart]
symbol = " "
[directory]
read_only = " 󰌾"
[docker_context]
symbol = " "
[elixir]
symbol = " "
[elm]
symbol = " "
[fennel]
symbol = " "
[fossil_branch]
symbol = " "
[git_branch]
symbol = " "
[git_commit]
tag_symbol = '  '
[golang]
symbol = " "
[guix_shell]
symbol = " "
[haskell]
symbol = " "
[haxe]
symbol = " "
[hg_branch]
symbol = " "
[hostname]
ssh_symbol = " "
[java]
symbol = " "
[julia]
symbol = " "
[kotlin]
symbol = " "
[lua]
symbol = " "
[memory_usage]
symbol = "󰍛 "
[meson]
symbol = "󰔷 "
[nim]
symbol = "󰆥 "
[nix_shell]
symbol = " "
[nodejs]
symbol = " "
[ocaml]
symbol = " "
[os.symbols]
Alpaquita = " "
Alpine = " "
AlmaLinux = " "
Amazon = " "
Android = " "
Arch = " "
Artix = " "
CentOS = " "
Debian = " "
DragonFly = " "
Emscripten = " "
EndeavourOS = " "
Fedora = " "
FreeBSD = " "
Garuda = "󰛓 "
Gentoo = " "
HardenedBSD = "󰞌 "
Illumos = "󰈸 "
Kali = " "
Linux = " "
Mabox = " "
Macos = " "
Manjaro = " "
Mariner = " "
MidnightBSD = " "
Mint = " "
NetBSD = " "
NixOS = " "
OpenBSD = "󰈺 "
openSUSE = " "
OracleLinux = "󰌷 "
Pop = " "
Raspbian = " "
Redhat = " "
RedHatEnterprise = " "
RockyLinux = " "
Redox = "󰀘 "
Solus = "󰠳 "
SUSE = " "
Ubuntu = " "
Unknown = " "
Void = " "
Windows = "󰍲 "
[package]
symbol = "󰏗 "
[perl]
symbol = " "
[php]
symbol = " "
[pijul_channel]
symbol = " "
[python]
symbol = " "
[rlang]
symbol = "󰟔 "
[ruby]
symbol = " "
[rust]
symbol = "󱘗 "
[scala]
symbol = " "
[swift]
symbol = " "
[zig]
symbol = " "
[gradle]
symbol = " "

View file

@ -0,0 +1,131 @@
[bun]
format = "via [$symbol]($style)"
[buf]
format = "via [$symbol]($style)"
[cmake]
format = "via [$symbol]($style)"
[cobol]
format = "via [$symbol]($style)"
[crystal]
format = "via [$symbol]($style)"
[daml]
format = "via [$symbol]($style)"
[dart]
format = "via [$symbol]($style)"
[deno]
format = "via [$symbol]($style)"
[dotnet]
format = "[$symbol(󰓾 $tfm )]($style)"
[elixir]
format = 'via [$symbol]($style)'
[elm]
format = 'via [$symbol]($style)'
[erlang]
format = 'via [$symbol]($style)'
[fennel]
format = 'via [$symbol]($style)'
[gleam]
format = 'via [$symbol]($style)'
[golang]
format = 'via [$symbol]($style)'
[gradle]
format = 'via [$symbol]($style)'
[haxe]
format = 'via [$symbol]($style)'
[helm]
format = 'via [$symbol]($style)'
[java]
format = 'via [$symbol]($style)'
[julia]
format = 'via [$symbol]($style)'
[kotlin]
format = 'via [$symbol]($style)'
[lua]
format = 'via [$symbol]($style)'
[meson]
format = 'via [$symbol]($style)'
[nim]
format = 'via [$symbol]($style)'
[nodejs]
format = 'via [$symbol]($style)'
[ocaml]
format = 'via [$symbol(\($switch_indicator$switch_name\) )]($style)'
[opa]
format = 'via [$symbol]($style)'
[perl]
format = 'via [$symbol]($style)'
[php]
format = 'via [$symbol]($style)'
[pulumi]
format = 'via [$symbol$stack]($style)'
[purescript]
format = 'via [$symbol]($style)'
[python]
format = 'via [$symbol]($style)'
[quarto]
format = 'via [$symbol]($style)'
[raku]
format = 'via [$symbol]($style)'
[red]
format = 'via [$symbol]($style)'
[rlang]
format = 'via [$symbol]($style)'
[ruby]
format = 'via [$symbol]($style)'
[rust]
format = 'via [$symbol]($style)'
[solidity]
format = 'via [$symbol]($style)'
[typst]
format = 'via [$symbol]($style)'
[swift]
format = 'via [$symbol]($style)'
[vagrant]
format = 'via [$symbol]($style)'
[vlang]
format = 'via [$symbol]($style)'
[zig]
format = 'via [$symbol]($style)'

View file

@ -80,6 +80,7 @@ in {
### SETTINGS ###
# https://github.com/Alexays/Waybar/wiki/Configuration
# https://docs.gtk.org/Pango/pango_markup.html#pango-markup
#?? pkill -SIGUSR2 -x waybar
settings = let
## INHERIT ##
@ -140,7 +141,8 @@ in {
(mkIf config.custom.desktops.niri.enable "niri/workspaces")
];
modules-center = [
"clock"
"clock#date"
"clock#time"
"custom/weather"
];
modules-right = [
@ -150,6 +152,7 @@ in {
"wireplumber"
"bluetooth"
"network"
"power-profiles-daemon"
"battery"
];
@ -230,10 +233,10 @@ in {
cava = cava-config;
# https://github.com/Alexays/Waybar/wiki/Module:-Clock
clock = {
# https://fmt.dev/latest/syntax.html#chrono-specs
format = "{:%a %b %d %I:%M %p}"; # Mon Jan 01 12:00 AM
"clock#date" = {
format = "{:%a %b %d}";
tooltip-format = "{calendar}";
calendar.format = {
months = "<span color='#eee8d5'>{}</span>";
weeks = "<span color='#eee8d5'>{}</span>";
@ -241,11 +244,12 @@ in {
days = "<span color='#586e75'>{}</span>";
today = "<span color='#eee8d5'>{}</span>";
};
};
# FIXME: Click release event sends to incorrect layer without sleeping
# https://github.com/hyprwm/Hyprland/issues/1348
"clock#time" = {
# https://fmt.dev/latest/syntax/#chrono-format-specifications
format = "<span text_transform='lowercase'>{:%I:%M%p}</span>";
on-click = "${swaync-client} --toggle-panel";
# on-click-right = easyeffects;
on-scroll-up = "${swayosd-client} --output-volume raise";
on-scroll-down = "${swayosd-client} --output-volume lower";
};
@ -285,7 +289,7 @@ in {
mpris = {
format = "{player_icon} {dynamic}";
format-paused = "{status_icon} {dynamic}";
dynamic-len = 50;
dynamic-len = 25;
dynamic-order = [
"title"
"artist"
@ -345,9 +349,25 @@ in {
on-click-right = network; # Toggle networking on/off
};
# https://github.com/Alexays/Waybar/wiki/Module:-PowerProfilesDaemon
power-profiles-daemon = {
format = "{icon}";
format-icons = {
default = "";
performance = "";
balanced = "";
power-saver = "";
};
tooltip = false;
};
# https://github.com/Alexays/Waybar/wiki/Module:-Battery
"battery" = {
format = "{icon} {power:.0f}W";
interval = 5;
format-icons = [
"󰂃"
"󰁺"
@ -361,13 +381,13 @@ in {
"󰂂"
"󰁹"
];
interval = 5;
states = {
critical = 15;
warning = 30;
};
on-click = power; # Toggle power-saver mode
on-click = power;
};
};
};

View file

@ -107,6 +107,18 @@ tooltip label {
color: #b58900;
}
#power-profiles-daemon.default {
color: #dc322f;
}
#power-profiles-daemon.performance {
color: #cb4b16;
}
#power-profiles-daemon.power-saver {
color: #859900;
}
#tray {
background: #073642;
}

View file

@ -24,10 +24,20 @@ in {
services.hypridle = {
enable = true;
settings = {
general = {
before_sleep_cmd = "${pgrep} hyprlock || ${hyprlock} --immediate";
lock_cmd = "${pgrep} hyprlock || ${hyprlock}";
settings = let
# Workaround for red background immediately showing while lockscreen starts
# https://github.com/YaLTeR/niri/issues/808
do-screen-transition = "${niri} msg action do-screen-transition --delay-ms 1000 &&";
in {
general = let
lock = "${pgrep} hyprlock || ${
if config.custom.desktops.desktop == "niri"
then do-screen-transition
else ""
} ${hyprlock}";
in {
before_sleep_cmd = "${lock} --immediate";
lock_cmd = lock;
};
listener = [

View file

@ -20,6 +20,7 @@ with lib; {
fonts.enable = true;
gtk.enable = true;
qt.enable = true;
#// stylix.enable = true;
xdg.enable = true;
})

View file

@ -0,0 +1,19 @@
{
config,
lib,
...
}:
with lib; let
cfg = config.custom.settings.stylix;
in {
options.custom.settings.stylix = {
enable = mkOption {default = false;};
};
config = mkIf cfg.enable {
# https://stylix.danth.me/
stylix = {
enable = true;
};
};
}