format with nix-fmt, use nix tree
This commit is contained in:
parent
b26856d2ed
commit
0d34a0f6a8
11 changed files with 307 additions and 188 deletions
52
flake.nix
52
flake.nix
|
|
@ -13,26 +13,38 @@
|
||||||
claude-code.url = "github:ryoppippi/claude-code-overlay";
|
claude-code.url = "github:ryoppippi/claude-code-overlay";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { nixpkgs, home-manager, nixos-hardware, neovim-nightly, zen-browser, claude-code, ... }:
|
outputs =
|
||||||
|
{
|
||||||
|
nixpkgs,
|
||||||
|
home-manager,
|
||||||
|
nixos-hardware,
|
||||||
|
neovim-nightly,
|
||||||
|
zen-browser,
|
||||||
|
claude-code,
|
||||||
|
...
|
||||||
|
}:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
config.allowUnfreePredicate = pkg: builtins.elem (nixpkgs.lib.getName pkg) [
|
config.allowUnfreePredicate =
|
||||||
"slack"
|
pkg:
|
||||||
"claude-code"
|
builtins.elem (nixpkgs.lib.getName pkg) [
|
||||||
"claude"
|
"slack"
|
||||||
"nvidia-x11"
|
"claude-code"
|
||||||
"nvidia-settings"
|
"claude"
|
||||||
"apple_cursor"
|
"nvidia-x11"
|
||||||
];
|
"nvidia-settings"
|
||||||
|
"apple_cursor"
|
||||||
|
];
|
||||||
overlays = [
|
overlays = [
|
||||||
neovim-nightly.overlays.default
|
neovim-nightly.overlays.default
|
||||||
claude-code.overlays.default
|
claude-code.overlays.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
formatter.${system} = pkgs.nixfmt;
|
{
|
||||||
|
formatter.${system} = pkgs.nixfmt-tree;
|
||||||
|
|
||||||
nixosConfigurations.xps15 = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.xps15 = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
|
|
@ -44,14 +56,16 @@
|
||||||
neovim-nightly.overlays.default
|
neovim-nightly.overlays.default
|
||||||
claude-code.overlays.default
|
claude-code.overlays.default
|
||||||
];
|
];
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (nixpkgs.lib.getName pkg) [
|
nixpkgs.config.allowUnfreePredicate =
|
||||||
"slack"
|
pkg:
|
||||||
"claude-code"
|
builtins.elem (nixpkgs.lib.getName pkg) [
|
||||||
"claude"
|
"slack"
|
||||||
"nvidia-x11"
|
"claude-code"
|
||||||
"nvidia-settings"
|
"claude"
|
||||||
"apple_cursor"
|
"nvidia-x11"
|
||||||
];
|
"nvidia-settings"
|
||||||
|
"apple_cursor"
|
||||||
|
];
|
||||||
}
|
}
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,14 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
isNixOS = builtins.pathExists /etc/NIXOS;
|
isNixOS = builtins.pathExists /etc/NIXOS;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./modules/bootstrap.nix
|
./modules/bootstrap.nix
|
||||||
./modules/theme.nix
|
./modules/theme.nix
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,23 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
homeDir = config.home.homeDirectory;
|
homeDir = config.home.homeDirectory;
|
||||||
repoDir = "${homeDir}/nix-config";
|
repoDir = "${homeDir}/nix-config";
|
||||||
|
|
||||||
directories = [ "dev" "dl" "img" "img/screen" "wp" ];
|
directories = [
|
||||||
in {
|
"dev"
|
||||||
|
"dl"
|
||||||
|
"img"
|
||||||
|
"img/screen"
|
||||||
|
"wp"
|
||||||
|
];
|
||||||
|
in
|
||||||
|
{
|
||||||
home.activation.createDirectories = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
home.activation.createDirectories = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||||
for dir in ${lib.concatStringsSep " " directories}; do
|
for dir in ${lib.concatStringsSep " " directories}; do
|
||||||
$DRY_RUN_CMD mkdir -p "$HOME/$dir"
|
$DRY_RUN_CMD mkdir -p "$HOME/$dir"
|
||||||
|
|
|
||||||
|
|
@ -13,5 +13,6 @@
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."nvim".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nix-config/config/nvim";
|
xdg.configFile."nvim".source =
|
||||||
|
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nix-config/config/nvim";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
programs.git = {
|
programs.git = {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,11 @@
|
||||||
{ pkgs, lib, config, zen-browser, hostPlatform, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
zen-browser,
|
||||||
|
hostPlatform,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
enableClaude = true;
|
enableClaude = true;
|
||||||
|
|
@ -6,22 +13,25 @@ let
|
||||||
enableSioyek = true;
|
enableSioyek = true;
|
||||||
enableVesktop = true;
|
enableVesktop = true;
|
||||||
enableNeovim = config.programs.neovim.enable;
|
enableNeovim = config.programs.neovim.enable;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
home.sessionVariables = lib.optionalAttrs enableZen {
|
home.sessionVariables = lib.optionalAttrs enableZen {
|
||||||
BROWSER = "zen-browser";
|
BROWSER = "zen-browser";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.mpv.enable = true;
|
programs.mpv.enable = true;
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages =
|
||||||
signal-desktop
|
with pkgs;
|
||||||
slack
|
[
|
||||||
bitwarden-desktop
|
signal-desktop
|
||||||
]
|
slack
|
||||||
++ lib.optionals enableClaude [ claude-code ]
|
bitwarden-desktop
|
||||||
++ lib.optionals enableZen [ zen-browser.packages.${hostPlatform}.default ]
|
]
|
||||||
++ lib.optionals enableSioyek [ sioyek ]
|
++ lib.optionals enableClaude [ claude-code ]
|
||||||
++ lib.optionals enableVesktop [ vesktop ];
|
++ lib.optionals enableZen [ zen-browser.packages.${hostPlatform}.default ]
|
||||||
|
++ lib.optionals enableSioyek [ sioyek ]
|
||||||
|
++ lib.optionals enableVesktop [ vesktop ];
|
||||||
|
|
||||||
xdg.configFile."claude/settings.json" = lib.mkIf enableClaude {
|
xdg.configFile."claude/settings.json" = lib.mkIf enableClaude {
|
||||||
text = builtins.toJSON {
|
text = builtins.toJSON {
|
||||||
|
|
@ -86,21 +96,22 @@ in {
|
||||||
|
|
||||||
xdg.mimeApps = {
|
xdg.mimeApps = {
|
||||||
enable = true;
|
enable = true;
|
||||||
defaultApplications = {}
|
defaultApplications =
|
||||||
// lib.optionalAttrs enableZen {
|
{ }
|
||||||
"x-scheme-handler/http" = "zen.desktop";
|
// lib.optionalAttrs enableZen {
|
||||||
"x-scheme-handler/https" = "zen.desktop";
|
"x-scheme-handler/http" = "zen.desktop";
|
||||||
"text/html" = "zen.desktop";
|
"x-scheme-handler/https" = "zen.desktop";
|
||||||
}
|
"text/html" = "zen.desktop";
|
||||||
// lib.optionalAttrs enableNeovim {
|
}
|
||||||
"text/plain" = "nvim.desktop";
|
// lib.optionalAttrs enableNeovim {
|
||||||
}
|
"text/plain" = "nvim.desktop";
|
||||||
// lib.optionalAttrs enableSioyek {
|
}
|
||||||
"application/pdf" = "sioyek.desktop";
|
// lib.optionalAttrs enableSioyek {
|
||||||
"application/epub" = "sioyek.desktop";
|
"application/pdf" = "sioyek.desktop";
|
||||||
}
|
"application/epub" = "sioyek.desktop";
|
||||||
// lib.optionalAttrs enableVesktop {
|
}
|
||||||
"x-scheme-handler/discord" = "vesktop.desktop";
|
// lib.optionalAttrs enableVesktop {
|
||||||
};
|
"x-scheme-handler/discord" = "vesktop.desktop";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ pkgs, lib, config, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
c = config.colors;
|
c = config.colors;
|
||||||
|
|
@ -15,7 +20,8 @@ let
|
||||||
aws = true;
|
aws = true;
|
||||||
psql = true;
|
psql = true;
|
||||||
sqlite = true;
|
sqlite = true;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
pure-prompt
|
pure-prompt
|
||||||
xclip
|
xclip
|
||||||
|
|
@ -225,7 +231,8 @@ in {
|
||||||
zle -N fzf-config-widget
|
zle -N fzf-config-widget
|
||||||
bindkey '^E' fzf-config-widget
|
bindkey '^E' fzf-config-widget
|
||||||
|
|
||||||
'' + lib.optionalString ocaml ''
|
''
|
||||||
|
+ lib.optionalString ocaml ''
|
||||||
[[ ! -r "$OPAMROOT/opam-init/init.zsh" ]] || source "$OPAMROOT/opam-init/init.zsh" > /dev/null 2> /dev/null
|
[[ ! -r "$OPAMROOT/opam-init/init.zsh" ]] || source "$OPAMROOT/opam-init/init.zsh" > /dev/null 2> /dev/null
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
@ -452,42 +459,48 @@ in {
|
||||||
};
|
};
|
||||||
|
|
||||||
commands = {
|
commands = {
|
||||||
open = ''$${{
|
open = ''
|
||||||
setsid -f xdg-open "$f" 2>/dev/null 2>&1 &
|
$${{
|
||||||
}}'';
|
setsid -f xdg-open "$f" 2>/dev/null 2>&1 &
|
||||||
sopen = ''$${{
|
}}'';
|
||||||
for f in $fx; do
|
sopen = ''
|
||||||
setsid -f xdg-open "$f" >/dev/null 2>&1 &
|
$${{
|
||||||
done
|
for f in $fx; do
|
||||||
}}'';
|
setsid -f xdg-open "$f" >/dev/null 2>&1 &
|
||||||
rmd = ''$${{
|
done
|
||||||
set -f
|
}}'';
|
||||||
while IFS= read -r dir; do
|
rmd = ''
|
||||||
rmdir -v -- "$dir"
|
$${{
|
||||||
done <<< "$fx"
|
set -f
|
||||||
}}'';
|
while IFS= read -r dir; do
|
||||||
rmf = ''$${{
|
rmdir -v -- "$dir"
|
||||||
set -f
|
done <<< "$fx"
|
||||||
while IFS= read -r file; do
|
}}'';
|
||||||
rm -v -- "$file"
|
rmf = ''
|
||||||
done <<< "$fx"
|
$${{
|
||||||
}}'';
|
set -f
|
||||||
resize = ''%{{
|
while IFS= read -r file; do
|
||||||
w=$(tmux display-message -p '#{pane_width}' || tput cols)
|
rm -v -- "$file"
|
||||||
if [ $w -le 62 ]; then
|
done <<< "$fx"
|
||||||
lf -remote "send $id set ratios 1:4"
|
}}'';
|
||||||
lf -remote "send $id set nopreview"
|
resize = ''
|
||||||
elif [ $w -le 80 ]; then
|
%{{
|
||||||
lf -remote "send $id set ratios 1:2:2"
|
w=$(tmux display-message -p '#{pane_width}' || tput cols)
|
||||||
elif [ $w -le 100 ]; then
|
if [ $w -le 62 ]; then
|
||||||
lf -remote "send $id set ratios 1:2:3"
|
lf -remote "send $id set ratios 1:4"
|
||||||
else
|
lf -remote "send $id set nopreview"
|
||||||
lf -remote "send $id set ratios 2:4:5"
|
elif [ $w -le 80 ]; then
|
||||||
fi
|
lf -remote "send $id set ratios 1:2:2"
|
||||||
}}'';
|
elif [ $w -le 100 ]; then
|
||||||
on-init = ''%{{
|
lf -remote "send $id set ratios 1:2:3"
|
||||||
lf -remote "send $id resize"
|
else
|
||||||
}}'';
|
lf -remote "send $id set ratios 2:4:5"
|
||||||
|
fi
|
||||||
|
}}'';
|
||||||
|
on-init = ''
|
||||||
|
%{{
|
||||||
|
lf -remote "send $id resize"
|
||||||
|
}}'';
|
||||||
};
|
};
|
||||||
|
|
||||||
keybindings = {
|
keybindings = {
|
||||||
|
|
@ -517,6 +530,8 @@ in {
|
||||||
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nix-config/config/lf/cleaner";
|
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nix-config/config/lf/cleaner";
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.configFile."lf/lf.lua".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nix-config/config/lf/lf.lua";
|
xdg.configFile."lf/lf.lua".source =
|
||||||
xdg.configFile."lf/sort.py".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nix-config/config/lf/sort.py";
|
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nix-config/config/lf/lf.lua";
|
||||||
|
xdg.configFile."lf/sort.py".source =
|
||||||
|
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nix-config/config/lf/sort.py";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,8 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
c = config.colors;
|
c = config.colors;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
TERMINAL = "ghostty";
|
TERMINAL = "ghostty";
|
||||||
TERM = "xterm-ghostty";
|
TERM = "xterm-ghostty";
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ lib, config, pkgs, ... }:
|
{
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
palettes = {
|
palettes = {
|
||||||
|
|
@ -35,9 +40,13 @@ let
|
||||||
activityFg = "#3b5bdb";
|
activityFg = "#3b5bdb";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
options.theme = lib.mkOption {
|
options.theme = lib.mkOption {
|
||||||
type = lib.types.enum [ "midnight" "daylight" ];
|
type = lib.types.enum [
|
||||||
|
"midnight"
|
||||||
|
"daylight"
|
||||||
|
];
|
||||||
default = "midnight";
|
default = "midnight";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,9 @@
|
||||||
{ pkgs, lib, config, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
isNixOS = builtins.pathExists /etc/NIXOS;
|
isNixOS = builtins.pathExists /etc/NIXOS;
|
||||||
|
|
@ -6,7 +11,8 @@ let
|
||||||
|
|
||||||
nvidia = true;
|
nvidia = true;
|
||||||
backlightDevice = "intel_backlight";
|
backlightDevice = "intel_backlight";
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
wl-clipboard
|
wl-clipboard
|
||||||
cliphist
|
cliphist
|
||||||
|
|
@ -42,7 +48,8 @@ in {
|
||||||
env = QT_QPA_PLATFORM,wayland
|
env = QT_QPA_PLATFORM,wayland
|
||||||
env = GDK_BACKEND,wayland,x11
|
env = GDK_BACKEND,wayland,x11
|
||||||
env = SDL_VIDEODRIVER,wayland
|
env = SDL_VIDEODRIVER,wayland
|
||||||
'' + lib.optionalString nvidia ''
|
''
|
||||||
|
+ lib.optionalString nvidia ''
|
||||||
env = LIBVA_DRIVER_NAME,nvidia
|
env = LIBVA_DRIVER_NAME,nvidia
|
||||||
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
|
||||||
env = NVD_BACKEND,direct
|
env = NVD_BACKEND,direct
|
||||||
|
|
@ -50,15 +57,18 @@ in {
|
||||||
env = GSK_RENDERER,ngl
|
env = GSK_RENDERER,ngl
|
||||||
env = __NV_PRIME_RENDER_OFFLOAD,1
|
env = __NV_PRIME_RENDER_OFFLOAD,1
|
||||||
env = __VK_LAYER_NV_optimus,NVIDIA_only
|
env = __VK_LAYER_NV_optimus,NVIDIA_only
|
||||||
'' + ''
|
''
|
||||||
|
+ ''
|
||||||
|
|
||||||
env = XCURSOR_SIZE,24
|
env = XCURSOR_SIZE,24
|
||||||
env = HYPRCURSOR_SIZE,24
|
env = HYPRCURSOR_SIZE,24
|
||||||
'' + lib.optionalString nvidia ''
|
''
|
||||||
|
+ lib.optionalString nvidia ''
|
||||||
cursor {
|
cursor {
|
||||||
no_hardware_cursors = true
|
no_hardware_cursors = true
|
||||||
}
|
}
|
||||||
'' + ''
|
''
|
||||||
|
+ ''
|
||||||
|
|
||||||
general {
|
general {
|
||||||
gaps_in = 0
|
gaps_in = 0
|
||||||
|
|
@ -249,10 +259,12 @@ in {
|
||||||
hide_cursor = true;
|
hide_cursor = true;
|
||||||
grace = 0;
|
grace = 0;
|
||||||
};
|
};
|
||||||
background = [{
|
background = [
|
||||||
monitor = "";
|
{
|
||||||
path = "~/img/screen/lock.jpg";
|
monitor = "";
|
||||||
}];
|
path = "~/img/screen/lock.jpg";
|
||||||
|
}
|
||||||
|
];
|
||||||
animations.enabled = false;
|
animations.enabled = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -275,9 +287,18 @@ in {
|
||||||
exclusive = true;
|
exclusive = true;
|
||||||
height = 34;
|
height = 34;
|
||||||
|
|
||||||
modules-left = [ "hyprland/workspaces" "hyprland/window" ];
|
modules-left = [
|
||||||
modules-center = [];
|
"hyprland/workspaces"
|
||||||
modules-right = [ "backlight" "pulseaudio" "network" "battery" "clock" ];
|
"hyprland/window"
|
||||||
|
];
|
||||||
|
modules-center = [ ];
|
||||||
|
modules-right = [
|
||||||
|
"backlight"
|
||||||
|
"pulseaudio"
|
||||||
|
"network"
|
||||||
|
"battery"
|
||||||
|
"clock"
|
||||||
|
];
|
||||||
|
|
||||||
"hyprland/workspaces" = {
|
"hyprland/workspaces" = {
|
||||||
disable-scroll = true;
|
disable-scroll = true;
|
||||||
|
|
@ -300,7 +321,7 @@ in {
|
||||||
format = " {} [{}]";
|
format = " {} [{}]";
|
||||||
separate-outputs = true;
|
separate-outputs = true;
|
||||||
max-length = 80;
|
max-length = 80;
|
||||||
rewrite = {};
|
rewrite = { };
|
||||||
};
|
};
|
||||||
|
|
||||||
pulseaudio = {
|
pulseaudio = {
|
||||||
|
|
@ -405,73 +426,80 @@ in {
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
show-icons = false;
|
show-icons = false;
|
||||||
};
|
};
|
||||||
theme = let
|
theme =
|
||||||
inherit (config.lib.formats.rasi) mkLiteral;
|
let
|
||||||
in {
|
inherit (config.lib.formats.rasi) mkLiteral;
|
||||||
"*" = {
|
in
|
||||||
selected-normal-foreground = mkLiteral "${c.fg}";
|
{
|
||||||
foreground = mkLiteral "${c.fg}";
|
"*" = {
|
||||||
normal-foreground = mkLiteral "@foreground";
|
selected-normal-foreground = mkLiteral "${c.fg}";
|
||||||
alternate-normal-background = mkLiteral "${c.bg}";
|
foreground = mkLiteral "${c.fg}";
|
||||||
background = mkLiteral "${c.bgAlt}";
|
normal-foreground = mkLiteral "@foreground";
|
||||||
alternate-normal-foreground = mkLiteral "@foreground";
|
alternate-normal-background = mkLiteral "${c.bg}";
|
||||||
normal-background = mkLiteral "@background";
|
background = mkLiteral "${c.bgAlt}";
|
||||||
selected-normal-background = mkLiteral "${c.accent}";
|
alternate-normal-foreground = mkLiteral "@foreground";
|
||||||
border-color = mkLiteral "${c.fgAlt}";
|
normal-background = mkLiteral "@background";
|
||||||
spacing = 2;
|
selected-normal-background = mkLiteral "${c.accent}";
|
||||||
separatorcolor = mkLiteral "@foreground";
|
border-color = mkLiteral "${c.fgAlt}";
|
||||||
background-color = mkLiteral "rgba ( 0, 0, 0, 0 % )";
|
spacing = 2;
|
||||||
|
separatorcolor = mkLiteral "@foreground";
|
||||||
|
background-color = mkLiteral "rgba ( 0, 0, 0, 0 % )";
|
||||||
|
};
|
||||||
|
window = {
|
||||||
|
background-color = mkLiteral "@background";
|
||||||
|
border = 1;
|
||||||
|
padding = 5;
|
||||||
|
};
|
||||||
|
mainbox = {
|
||||||
|
border = 0;
|
||||||
|
padding = 0;
|
||||||
|
};
|
||||||
|
listview = {
|
||||||
|
fixed-height = 0;
|
||||||
|
border = mkLiteral "2px 0px 0px";
|
||||||
|
border-color = mkLiteral "@separatorcolor";
|
||||||
|
spacing = mkLiteral "2px";
|
||||||
|
scrollbar = false;
|
||||||
|
padding = mkLiteral "2px 0px 0px";
|
||||||
|
};
|
||||||
|
element = {
|
||||||
|
border = 0;
|
||||||
|
padding = mkLiteral "1px";
|
||||||
|
};
|
||||||
|
element-text = {
|
||||||
|
background-color = mkLiteral "inherit";
|
||||||
|
text-color = mkLiteral "inherit";
|
||||||
|
};
|
||||||
|
"element.normal.normal" = {
|
||||||
|
background-color = mkLiteral "@normal-background";
|
||||||
|
text-color = mkLiteral "@normal-foreground";
|
||||||
|
};
|
||||||
|
"element.selected.normal" = {
|
||||||
|
background-color = mkLiteral "@selected-normal-background";
|
||||||
|
text-color = mkLiteral "@selected-normal-foreground";
|
||||||
|
};
|
||||||
|
"element.alternate.normal" = {
|
||||||
|
background-color = mkLiteral "@alternate-normal-background";
|
||||||
|
text-color = mkLiteral "@alternate-normal-foreground";
|
||||||
|
};
|
||||||
|
inputbar = {
|
||||||
|
spacing = 0;
|
||||||
|
text-color = mkLiteral "@normal-foreground";
|
||||||
|
padding = mkLiteral "1px";
|
||||||
|
children = map mkLiteral [
|
||||||
|
"prompt"
|
||||||
|
"textbox-prompt-colon"
|
||||||
|
"entry"
|
||||||
|
"case-indicator"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
textbox-prompt-colon = {
|
||||||
|
expand = false;
|
||||||
|
str = ":";
|
||||||
|
margin = mkLiteral "0px 0.3em 0em 0em";
|
||||||
|
text-color = mkLiteral "@normal-foreground";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
window = {
|
|
||||||
background-color = mkLiteral "@background";
|
|
||||||
border = 1;
|
|
||||||
padding = 5;
|
|
||||||
};
|
|
||||||
mainbox = {
|
|
||||||
border = 0;
|
|
||||||
padding = 0;
|
|
||||||
};
|
|
||||||
listview = {
|
|
||||||
fixed-height = 0;
|
|
||||||
border = mkLiteral "2px 0px 0px";
|
|
||||||
border-color = mkLiteral "@separatorcolor";
|
|
||||||
spacing = mkLiteral "2px";
|
|
||||||
scrollbar = false;
|
|
||||||
padding = mkLiteral "2px 0px 0px";
|
|
||||||
};
|
|
||||||
element = {
|
|
||||||
border = 0;
|
|
||||||
padding = mkLiteral "1px";
|
|
||||||
};
|
|
||||||
element-text = {
|
|
||||||
background-color = mkLiteral "inherit";
|
|
||||||
text-color = mkLiteral "inherit";
|
|
||||||
};
|
|
||||||
"element.normal.normal" = {
|
|
||||||
background-color = mkLiteral "@normal-background";
|
|
||||||
text-color = mkLiteral "@normal-foreground";
|
|
||||||
};
|
|
||||||
"element.selected.normal" = {
|
|
||||||
background-color = mkLiteral "@selected-normal-background";
|
|
||||||
text-color = mkLiteral "@selected-normal-foreground";
|
|
||||||
};
|
|
||||||
"element.alternate.normal" = {
|
|
||||||
background-color = mkLiteral "@alternate-normal-background";
|
|
||||||
text-color = mkLiteral "@alternate-normal-foreground";
|
|
||||||
};
|
|
||||||
inputbar = {
|
|
||||||
spacing = 0;
|
|
||||||
text-color = mkLiteral "@normal-foreground";
|
|
||||||
padding = mkLiteral "1px";
|
|
||||||
children = map mkLiteral [ "prompt" "textbox-prompt-colon" "entry" "case-indicator" ];
|
|
||||||
};
|
|
||||||
textbox-prompt-colon = {
|
|
||||||
expand = false;
|
|
||||||
str = ":";
|
|
||||||
margin = mkLiteral "0px 0.3em 0em 0em";
|
|
||||||
text-color = mkLiteral "@normal-foreground";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.dunst = {
|
services.dunst = {
|
||||||
|
|
@ -502,5 +530,6 @@ in {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
xdg.configFile."X11".source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nix-config/config/X11";
|
xdg.configFile."X11".source =
|
||||||
|
config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/nix-config/config/X11";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,12 @@
|
||||||
};
|
};
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
||||||
boot.kernelParams = [ "nvidia-drm.modeset=1" "ibt=off" "loglevel=3" "quiet" ];
|
boot.kernelParams = [
|
||||||
|
"nvidia-drm.modeset=1"
|
||||||
|
"ibt=off"
|
||||||
|
"loglevel=3"
|
||||||
|
"quiet"
|
||||||
|
];
|
||||||
|
|
||||||
networking.hostName = "xps15";
|
networking.hostName = "xps15";
|
||||||
networking.wireless.iwd = {
|
networking.wireless.iwd = {
|
||||||
|
|
@ -31,22 +36,30 @@
|
||||||
services.pcscd.enable = true;
|
services.pcscd.enable = true;
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
security.pam.services.hyprlock = {};
|
security.pam.services.hyprlock = { };
|
||||||
|
|
||||||
security.doas = {
|
security.doas = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraRules = [{
|
extraRules = [
|
||||||
groups = [ "wheel" ];
|
{
|
||||||
persist = true;
|
groups = [ "wheel" ];
|
||||||
keepEnv = true;
|
persist = true;
|
||||||
}];
|
keepEnv = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.binsh = "${pkgs.dash}/bin/dash";
|
environment.binsh = "${pkgs.dash}/bin/dash";
|
||||||
|
|
||||||
users.users.barrett = {
|
users.users.barrett = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
extraGroups = [ "wheel" "docker" "libvirt" "storage" "power" ];
|
extraGroups = [
|
||||||
|
"wheel"
|
||||||
|
"docker"
|
||||||
|
"libvirt"
|
||||||
|
"storage"
|
||||||
|
"power"
|
||||||
|
];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -119,7 +132,10 @@
|
||||||
dmidecode
|
dmidecode
|
||||||
];
|
];
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
|
||||||
system.stateVersion = "24.11";
|
system.stateVersion = "24.11";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue