mirror of
https://github.com/caperren/nixos-configs.git
synced 2025-11-08 19:51:14 +00:00
Compare commits
10 Commits
dab6ad4f42
...
37398fccac
| Author | SHA1 | Date | |
|---|---|---|---|
| 37398fccac | |||
| 994e2b18cd | |||
| 7bc49c9ba3 | |||
| 78a9be43cb | |||
| dd2068166a | |||
| 366d238141 | |||
| 6216d108a9 | |||
| 69522943d7 | |||
| 03cd45aac4 | |||
| 5cd18d4fcb |
4
README.md
Normal file
4
README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# nixos-configs
|
||||||
|
|
||||||
|
## Misc references used
|
||||||
|
* https://github.com/XNM1/linux-nixos-hyprland-config-dotfiles/tree/main
|
||||||
22
flake.nix
22
flake.nix
@@ -40,27 +40,5 @@
|
|||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
homeConfigurations = {
|
|
||||||
"caperren@cap-slim7" = home-manager.lib.homeManagerConfiguration {
|
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
|
||||||
extraModules = [
|
|
||||||
./home/caperren/common.nix
|
|
||||||
./home/caperren/laptop.nix
|
|
||||||
];
|
|
||||||
username = "caperren";
|
|
||||||
homeDirectory = "/home/caperren";
|
|
||||||
};
|
|
||||||
|
|
||||||
"caperren@cap-nr200p" = home-manager.lib.homeManagerConfiguration {
|
|
||||||
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
|
||||||
extraModules = [
|
|
||||||
./home/caperren/common.nix
|
|
||||||
./home/caperren/desktop1.nix
|
|
||||||
];
|
|
||||||
username = "caperren";
|
|
||||||
homeDirectory = "/home/caperren";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
../../modules/system/desktop.nix
|
../../modules/system/desktop.nix
|
||||||
../../modules/system/fonts.nix
|
../../modules/system/fonts.nix
|
||||||
../../modules/system/gpu-nvidia.nix
|
../../modules/system/gpu-nvidia.nix
|
||||||
|
../../modules/system/home-manager-settings.nix
|
||||||
../../modules/system/hyprland.nix
|
../../modules/system/hyprland.nix
|
||||||
../../modules/system/internationalization.nix
|
../../modules/system/internationalization.nix
|
||||||
../../modules/system/networking.nix
|
../../modules/system/networking.nix
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
../../modules/system/displaylink.nix
|
../../modules/system/displaylink.nix
|
||||||
../../modules/system/fonts.nix
|
../../modules/system/fonts.nix
|
||||||
../../modules/system/gpu-amd.nix
|
../../modules/system/gpu-amd.nix
|
||||||
|
../../modules/system/home-manager-settings.nix
|
||||||
../../modules/system/hyprland.nix
|
../../modules/system/hyprland.nix
|
||||||
../../modules/system/internationalization.nix
|
../../modules/system/internationalization.nix
|
||||||
../../modules/system/laptop.nix
|
../../modules/system/laptop.nix
|
||||||
|
|||||||
39
modules/application-groups/ai.nix
Normal file
39
modules/application-groups/ai.nix
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.ollama = {
|
||||||
|
enable = true;
|
||||||
|
loadModels = [
|
||||||
|
"llama3.2:3b"
|
||||||
|
"phi4-reasoning:14b"
|
||||||
|
"dolphin3:8b"
|
||||||
|
"smallthinker:3b"
|
||||||
|
"gemma3:4b"
|
||||||
|
"gemma3:12b"
|
||||||
|
"gemma3:27b"
|
||||||
|
"deepcoder:14b"
|
||||||
|
"qwen3:14b"
|
||||||
|
"nomic-embed-text"
|
||||||
|
];
|
||||||
|
acceleration = "cuda";
|
||||||
|
};
|
||||||
|
|
||||||
|
services.open-webui = {
|
||||||
|
enable = true;
|
||||||
|
port = 8888;
|
||||||
|
host = "127.0.0.1";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
oterm
|
||||||
|
alpaca
|
||||||
|
aichat
|
||||||
|
fabric-ai
|
||||||
|
aider-chat
|
||||||
|
|
||||||
|
# tgpt
|
||||||
|
# smartcat
|
||||||
|
# nextjs-ollama-llm-ui
|
||||||
|
# open-webui
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -20,38 +20,40 @@
|
|||||||
services.hardware.openrgb.enable = true;
|
services.hardware.openrgb.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
kitty
|
btop
|
||||||
lf
|
desktop-file-utils
|
||||||
|
dnsutils
|
||||||
|
ffmpeg-full
|
||||||
git
|
git
|
||||||
|
gparted
|
||||||
htop
|
htop
|
||||||
iftop
|
iftop
|
||||||
iotop
|
|
||||||
util-linux
|
|
||||||
usbutils
|
|
||||||
dnsutils
|
|
||||||
unzip
|
|
||||||
killall
|
|
||||||
wget
|
|
||||||
jq
|
|
||||||
speedcrunch
|
|
||||||
gparted
|
|
||||||
ffmpeg-full
|
|
||||||
xfce.mousepad
|
|
||||||
imagemagick
|
imagemagick
|
||||||
nvtopPackages.full
|
iotop
|
||||||
|
jq
|
||||||
|
killall
|
||||||
|
kitty
|
||||||
|
lf
|
||||||
ncdu
|
ncdu
|
||||||
s-tui
|
networkmanager
|
||||||
|
networkmanagerapplet
|
||||||
nmap
|
nmap
|
||||||
|
nvtopPackages.full
|
||||||
|
openrgb-with-all-plugins
|
||||||
pciutils
|
pciutils
|
||||||
desktop-file-utils
|
rofi-bluetooth
|
||||||
rpi-imager
|
rpi-imager
|
||||||
rpiboot
|
rpiboot
|
||||||
streamdeck-ui
|
s-tui
|
||||||
scrcpy
|
scrcpy
|
||||||
openrgb-with-all-plugins
|
speedcrunch
|
||||||
networkmanagerapplet
|
streamdeck-ui
|
||||||
rofi-bluetooth
|
stress
|
||||||
networkmanager
|
unzip
|
||||||
|
usbutils
|
||||||
|
util-linux
|
||||||
|
wget
|
||||||
|
xfce.mousepad
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
5
modules/system/home-manager-settings.nix
Normal file
5
modules/system/home-manager-settings.nix
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{ config, pkgs, ... }:
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.backupFileExtension = "bkp";
|
||||||
|
}
|
||||||
@@ -22,6 +22,9 @@
|
|||||||
xdg.portal.enable = true;
|
xdg.portal.enable = true;
|
||||||
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
|
|
||||||
|
programs.hyprlock.enable = true;
|
||||||
|
services.hypridle.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
waybar
|
waybar
|
||||||
dunst
|
dunst
|
||||||
@@ -39,8 +42,6 @@
|
|||||||
swayimg
|
swayimg
|
||||||
hyprpicker
|
hyprpicker
|
||||||
kanshi
|
kanshi
|
||||||
hyprlock
|
|
||||||
swayidle
|
|
||||||
mako
|
mako
|
||||||
|
|
||||||
(pkgs.waybar.overrideAttrs (oldAttrs: {
|
(pkgs.waybar.overrideAttrs (oldAttrs: {
|
||||||
|
|||||||
@@ -12,11 +12,23 @@
|
|||||||
# Generally want a larger download buffer
|
# Generally want a larger download buffer
|
||||||
nix.settings.download-buffer-size = 524288000;
|
nix.settings.download-buffer-size = 524288000;
|
||||||
|
|
||||||
programs.bash.shellAliases = {
|
nix.settings.auto-optimise-store = true;
|
||||||
nixrebuild = "pushd /etc/nixos && { trap 'popd' EXIT; sudo nixos-rebuild switch --flake .#$(hostname); }";
|
nix.optimise.automatic = true;
|
||||||
nixupdate = "cd /etc/nixos && sudo nix flake update && sudo nixos-rebuild switch --flake .#$(hostname)";
|
nix.gc = {
|
||||||
nixedit = "sudo nano /etc/nixos/hosts/$(hostname)/configuration.nix";
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 14d";
|
||||||
|
};
|
||||||
|
|
||||||
nixlimitfive = "sudo nix-env --list-generations --profile /nix/var/nix/profiles/system | head -n -5 | cut -d ' ' -f2 | xargs -I {} sudo nix-env --delete-generations --profile /nix/var/nix/profiles/system {}";
|
programs.bash.shellAliases = {
|
||||||
|
# Nix rebuild, switch
|
||||||
|
nrs = "pushd /etc/nixos && { trap 'popd' EXIT; sudo nixos-rebuild switch --flake .#$(hostname); }";
|
||||||
|
|
||||||
|
# Nix flake update, rebuild, switch
|
||||||
|
nus = "cd /etc/nixos && sudo nix flake update && sudo nixos-rebuild switch --flake .#$(hostname)";
|
||||||
|
|
||||||
|
# Special cleanup, needed when efi partition runs out of space. Deletes all but the last five generations.
|
||||||
|
# Remember to make that partition bigger in the future...
|
||||||
|
neficlean = "sudo nix-env --list-generations --profile /nix/var/nix/profiles/system | head -n -5 | cut -d ' ' -f2 | xargs -I {} sudo nix-env --delete-generations --profile /nix/var/nix/profiles/system {}";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,11 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
let
|
||||||
|
hyprlandConfigPath = ./. + "/dotfiles/hyprland/${config.networking.hostName}";
|
||||||
|
kanshiConfigPath = ./. + "/dotfiles/kanshi/${config.networking.hostName}";
|
||||||
|
spotifyPlayerAppTomlTextTemplate = builtins.readFile ./dotfiles/spotify-player/app.toml;
|
||||||
|
spotifyPlayerAppTomlText = builtins.replaceStrings [ "{{hostname}}" ] [ config.networking.hostName ] spotifyPlayerAppTomlTextTemplate;
|
||||||
|
waybarConfigPath = ./. + "/dotfiles/waybar/${config.networking.hostName}";
|
||||||
|
in
|
||||||
{
|
{
|
||||||
users.users.caperren = {
|
users.users.caperren = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
@@ -11,8 +18,28 @@
|
|||||||
"plugdev"
|
"plugdev"
|
||||||
"adbusers"
|
"adbusers"
|
||||||
];
|
];
|
||||||
packages = with pkgs; [
|
};
|
||||||
|
|
||||||
|
home-manager.users.caperren = {
|
||||||
|
home.username = "caperren";
|
||||||
|
home.homeDirectory = "/home/caperren";
|
||||||
|
home.stateVersion = "25.05";
|
||||||
|
|
||||||
|
home.packages = with pkgs; [
|
||||||
obsidian
|
obsidian
|
||||||
];
|
];
|
||||||
|
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = "Corwin Perren";
|
||||||
|
userEmail = "caperren@gmail.com";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.file.".config/hypr/hyprland-common.conf".source = ./dotfiles/hyprland/hyprland-common.conf;
|
||||||
|
home.file.".config/hypr/hyprland.conf".source = hyprlandConfigPath + "/hyprland.conf";
|
||||||
|
home.file.".config/kanshi/config".source = kanshiConfigPath + "/config";
|
||||||
|
home.file.".config/spotify-player/app.toml".text = spotifyPlayerAppTomlText;
|
||||||
|
home.file.".config/waybar/config".source = waybarConfigPath + "/config";
|
||||||
|
home.file.".config/wlogout/layout".source = ./dotfiles/wlogout/layout;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,9 @@
|
|||||||
|
# Unfortunate legacy config needed because hyprland can't hot switch variable refresh rate
|
||||||
|
monitor=DP-2,3440x1440@144,auto,1,vrr,1
|
||||||
|
|
||||||
|
# Source configs
|
||||||
|
source = ~/.config/hypr/hyprland-common.conf
|
||||||
|
|
||||||
|
# Application launch
|
||||||
|
exec-once = sleep 10 && steam -silent
|
||||||
|
#exec-once = swayidle -w timeout 600 "hyprlock" before-sleep "hyprlock" &
|
||||||
5
users/caperren/dotfiles/hyprland/cap-slim7/hyprland.conf
Normal file
5
users/caperren/dotfiles/hyprland/cap-slim7/hyprland.conf
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Unfortunate legacy config needed because hyprland can't hot switch variable refresh rate
|
||||||
|
monitor=eDP-2,2560x1600@165,auto,1,vrr,1
|
||||||
|
|
||||||
|
# Source configs
|
||||||
|
source = ~/.config/hypr/hyprland-common.conf
|
||||||
173
users/caperren/dotfiles/hyprland/hyprland-common.conf
Normal file
173
users/caperren/dotfiles/hyprland/hyprland-common.conf
Normal file
@@ -0,0 +1,173 @@
|
|||||||
|
# Always enable new monitors in automatic mode
|
||||||
|
monitor=,preferred,auto,1
|
||||||
|
|
||||||
|
# Set programs that you use
|
||||||
|
$terminal = kitty
|
||||||
|
$fileManager = thunar
|
||||||
|
$menu = wofi --show drun
|
||||||
|
|
||||||
|
# Some default env vars.
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that
|
||||||
|
|
||||||
|
input {
|
||||||
|
kb_layout = us
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = no
|
||||||
|
}
|
||||||
|
|
||||||
|
sensitivity = 0 # -1.0 to 1.0, 0 means no modification.
|
||||||
|
numlock_by_default = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
general {
|
||||||
|
gaps_in = 5
|
||||||
|
gaps_out = 5
|
||||||
|
border_size = 2
|
||||||
|
col.active_border = rgba(0D8A1EFF)
|
||||||
|
col.inactive_border = rgba(595959aa)
|
||||||
|
|
||||||
|
layout = dwindle
|
||||||
|
|
||||||
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||||
|
allow_tearing = false
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
rounding = 10
|
||||||
|
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
shadow {
|
||||||
|
enabled = true
|
||||||
|
range = 4
|
||||||
|
render_power = 3
|
||||||
|
color = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = yes
|
||||||
|
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = yes # you probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
workspace_swipe = off
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
force_default_wallpaper = 1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
|
}
|
||||||
|
|
||||||
|
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
|
||||||
|
|
||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
bind = $mainMod, T, exec, $terminal
|
||||||
|
bind = $mainMod, C, killactive,
|
||||||
|
|
||||||
|
# Launch terminal
|
||||||
|
bind = SHIFT_SUPER, Return, exec, $terminal
|
||||||
|
|
||||||
|
# Close active window
|
||||||
|
bind = $mainMod, Shift+q, killactive,
|
||||||
|
|
||||||
|
bind = $mainMod, M, exit,
|
||||||
|
bind = $mainMod, E, exec, $fileManager
|
||||||
|
bind = $mainMod, V, togglefloating,
|
||||||
|
bind = $mainMod, R, exec, $menu
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod, J, togglesplit, # dwindle
|
||||||
|
|
||||||
|
bind = $mainMod, F, fullscreen
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
bind = $mainMod, left, movefocus, l
|
||||||
|
bind = $mainMod, right, movefocus, r
|
||||||
|
bind = $mainMod, up, movefocus, u
|
||||||
|
bind = $mainMod, down, movefocus, d
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
# Example special workspace (scratchpad)
|
||||||
|
bind = $mainMod, S, togglespecialworkspace, magic
|
||||||
|
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
|
|
||||||
|
# Volume Keys
|
||||||
|
bindl=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 2%+
|
||||||
|
bindl=, XF86AudioLowerVolume, exec, wpctl set-volume -l 0.0 @DEFAULT_AUDIO_SINK@ 2%-
|
||||||
|
bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||||
|
|
||||||
|
# Media Controls
|
||||||
|
bindl=, XF86AudioPlay, exec, playerctl play-pause
|
||||||
|
bindl=, XF86AudioPrev, exec, playerctl previous
|
||||||
|
bindl=, XF86AudioNext, exec, playerctl next
|
||||||
|
|
||||||
|
# Brightness Controls
|
||||||
|
bind = ,XF86MonBrightnessDown, exec, brightnessctl s 1%-
|
||||||
|
bind = ,XF86MonBrightnessUp, exec, brightnessctl s +1%
|
||||||
|
|
||||||
|
# Application launch
|
||||||
|
exec-once = kanshi &
|
||||||
|
exec-once = ydotoold &
|
||||||
|
|
||||||
|
exec-once = sleep 3 && waybar
|
||||||
|
|
||||||
|
exec-once = sleep 5 && nm-applet
|
||||||
|
exec-once = sleep 5 && blueman-applet
|
||||||
|
exec-once = sleep 5 && streamdeck -n
|
||||||
|
exec-once = sleep 5 & telegram-desktop -startintray
|
||||||
7
users/caperren/dotfiles/kanshi/cap-nr200p/config
Normal file
7
users/caperren/dotfiles/kanshi/cap-nr200p/config
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# `hyprctl monitors list` for all outputs
|
||||||
|
|
||||||
|
profile office_desk {
|
||||||
|
output "Hewlett Packard HP Z27n CNK7311FCY" enable position 0,0
|
||||||
|
output "LG Electronics LG ULTRAGEAR 104NTVS1N751" enable mode 3440x1440@143.92Hz position -440,1440 adaptive_sync on
|
||||||
|
output "BOE Display 0x00000060" enable position 950,2880 scale 1.0
|
||||||
|
}
|
||||||
26
users/caperren/dotfiles/kanshi/cap-slim7/config
Normal file
26
users/caperren/dotfiles/kanshi/cap-slim7/config
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# `hyprctl monitors list` for all outputs
|
||||||
|
|
||||||
|
profile builtin_only {
|
||||||
|
output "BOE 0x0A9B Unknown" enable mode 2560x1600@165Hz position 0,0 adaptive_sync on
|
||||||
|
}
|
||||||
|
|
||||||
|
profile bedroom_desk {
|
||||||
|
# Top left to right
|
||||||
|
output "Dell Inc. DELL P2411H F8NDP11G0DVU" enable position 0,1280
|
||||||
|
output "Acer Technologies CB292CU 2217018D42410" enable position 1920,0 transform 90
|
||||||
|
output "DLOGIC Ltd. No Monitor USB_601e-21H1" enable position 3000,1280
|
||||||
|
# output "DLOGIC Ltd. No Monitor USB_601e-21H1" mode --custom 1920x1080@60Hz enable position 3000,1280
|
||||||
|
|
||||||
|
# Bottom left to right
|
||||||
|
output "Aculab Ltd Digital Unknown" enable transform 270 position 0,2360
|
||||||
|
output "Hewlett Packard HP Z27n CNK7311DRR" enable position 1440,2560
|
||||||
|
output "Aculab Ltd QHD270 Unknown" enable transform 90 position 4000,2360
|
||||||
|
|
||||||
|
# Far bottom right (laptop itself)
|
||||||
|
output "BOE 0x0A9B Unknown" enable position 5440,2360 adaptive_sync on
|
||||||
|
}
|
||||||
|
|
||||||
|
profile scotts_apartment_tv {
|
||||||
|
output "BOE 0x0A9B Unknown" enable mode 2560x1600@165Hz position 0,0 adaptive_sync on
|
||||||
|
output "Hisense Electric Co., Ltd. HISENSE 0x00000001" enable mode 1920x1080@60Hz position 2560,0
|
||||||
|
}
|
||||||
49
users/caperren/dotfiles/spotify-player/app.toml
Normal file
49
users/caperren/dotfiles/spotify-player/app.toml
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
theme = "dracula"
|
||||||
|
client_id = "65b708073fc0480ea92a077233ca87bd"
|
||||||
|
client_port = 8080
|
||||||
|
login_redirect_uri = "http://127.0.0.1:8989/login"
|
||||||
|
playback_format = """
|
||||||
|
{status} {track} • {artists}
|
||||||
|
{album}
|
||||||
|
{metadata}"""
|
||||||
|
notify_timeout_in_secs = 0
|
||||||
|
tracks_playback_limit = 1000
|
||||||
|
app_refresh_duration_in_ms = 32
|
||||||
|
playback_refresh_duration_in_ms = 0
|
||||||
|
page_size_in_rows = 20
|
||||||
|
play_icon = "▶"
|
||||||
|
pause_icon = "▌▌"
|
||||||
|
liked_icon = "♥"
|
||||||
|
border_type = "Plain"
|
||||||
|
progress_bar_type = "Rectangle"
|
||||||
|
cover_img_length = 9
|
||||||
|
cover_img_width = 5
|
||||||
|
cover_img_scale = 1.0
|
||||||
|
enable_media_control = true
|
||||||
|
enable_streaming = "Always"
|
||||||
|
enable_notify = true
|
||||||
|
enable_cover_image_cache = true
|
||||||
|
default_device = "{{hostname}}"
|
||||||
|
notify_streaming_only = false
|
||||||
|
seek_duration_secs = 5
|
||||||
|
|
||||||
|
[notify_format]
|
||||||
|
summary = "{track} • {artists}"
|
||||||
|
body = "{album}"
|
||||||
|
|
||||||
|
[layout]
|
||||||
|
playback_window_position = "Top"
|
||||||
|
playback_window_height = 6
|
||||||
|
|
||||||
|
[layout.library]
|
||||||
|
playlist_percent = 40
|
||||||
|
album_percent = 40
|
||||||
|
|
||||||
|
[device]
|
||||||
|
name = "{{hostname}}"
|
||||||
|
device_type = "speaker"
|
||||||
|
volume = 100
|
||||||
|
bitrate = 320
|
||||||
|
audio_cache = false
|
||||||
|
normalization = false
|
||||||
|
autoplay = false
|
||||||
122
users/caperren/dotfiles/waybar/cap-nr200p/config
Normal file
122
users/caperren/dotfiles/waybar/cap-nr200p/config
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"modules-left": [
|
||||||
|
"custom/logo",
|
||||||
|
"clock",
|
||||||
|
"disk",
|
||||||
|
"memory",
|
||||||
|
"cpu",
|
||||||
|
"hyprland/window"
|
||||||
|
],
|
||||||
|
"modules-center": [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
],
|
||||||
|
"modules-right": [
|
||||||
|
"tray",
|
||||||
|
"idle_inhibitor",
|
||||||
|
"pulseaudio",
|
||||||
|
"custom/exit"
|
||||||
|
],
|
||||||
|
"reload_style_on_change": true,
|
||||||
|
"custom/logo": {
|
||||||
|
"format": "<span font='20'></span>",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"all-outputs": false,
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"1": "1",
|
||||||
|
"2": "2",
|
||||||
|
"3": "3",
|
||||||
|
"4": "4",
|
||||||
|
"5": "5",
|
||||||
|
"6": "6",
|
||||||
|
"7": "7",
|
||||||
|
"8": "8",
|
||||||
|
"9": "9"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "<span font='16'>{icon}</span>",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": "",
|
||||||
|
"deactivated": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"format": "{:%I:%M:%S %p | %a | %F}",
|
||||||
|
"interval": 1,
|
||||||
|
"tooltip-format": "\n<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"calendar-weeks-pos": "right",
|
||||||
|
"today-format": "<span color='#7645AD'><b><u>{}</u></b></span>",
|
||||||
|
"format-calendar": "<span color='#aeaeae'><b>{}</b></span>",
|
||||||
|
"format-calendar-weeks": "<span color='#aeaeae'><b>W{:%V}</b></span>",
|
||||||
|
"format-calendar-weekdays": "<span color='#aeaeae'><b>{}</b></span>"
|
||||||
|
},
|
||||||
|
"disk": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {percentage_used}%",
|
||||||
|
"path": "/"
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"interval": 1,
|
||||||
|
"format": " {usage}%",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6,
|
||||||
|
"format-icons": [
|
||||||
|
"▁",
|
||||||
|
"▂",
|
||||||
|
"▃",
|
||||||
|
"▄",
|
||||||
|
"▅",
|
||||||
|
"▆",
|
||||||
|
"▇",
|
||||||
|
"█"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"format": " {percentage}%"
|
||||||
|
},
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": "( {class} )",
|
||||||
|
"rewrite": {
|
||||||
|
"(.*) - Mozilla Firefox": "🌎 $1",
|
||||||
|
"(.*) - zsh": "> [$1]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{volume:02}% {icon}",
|
||||||
|
"format-bluetooth": "",
|
||||||
|
"format-muted": "00% {icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"headphones": "",
|
||||||
|
"bluetooth": "",
|
||||||
|
"handsfree": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": [
|
||||||
|
"🕨",
|
||||||
|
"🕩",
|
||||||
|
"🕪"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"justify": "center",
|
||||||
|
"on-click": "amixer sset Master toggle",
|
||||||
|
"on-click-right": "pavucontrol",
|
||||||
|
"tooltip-format": "{icon} {volume:02}%"
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 14,
|
||||||
|
"spacing": 10
|
||||||
|
},
|
||||||
|
"custom/exit": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "wlogout -b 2",
|
||||||
|
"tooltip": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
149
users/caperren/dotfiles/waybar/cap-slim7/config
Normal file
149
users/caperren/dotfiles/waybar/cap-slim7/config
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"modules-left": [
|
||||||
|
"custom/logo",
|
||||||
|
"clock",
|
||||||
|
"disk",
|
||||||
|
"memory",
|
||||||
|
"cpu",
|
||||||
|
"hyprland/window"
|
||||||
|
],
|
||||||
|
"modules-center": [
|
||||||
|
"hyprland/workspaces"
|
||||||
|
],
|
||||||
|
"modules-right": [
|
||||||
|
"tray",
|
||||||
|
"idle_inhibitor",
|
||||||
|
"pulseaudio",
|
||||||
|
"battery",
|
||||||
|
"backlight",
|
||||||
|
"custom/exit"
|
||||||
|
],
|
||||||
|
"reload_style_on_change": true,
|
||||||
|
"custom/logo": {
|
||||||
|
"format": "<span font='20'></span>",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"all-outputs": false,
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"1": "1",
|
||||||
|
"2": "2",
|
||||||
|
"3": "3",
|
||||||
|
"4": "4",
|
||||||
|
"5": "5",
|
||||||
|
"6": "6",
|
||||||
|
"7": "7",
|
||||||
|
"8": "8",
|
||||||
|
"9": "9"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"backlight": {
|
||||||
|
"device": "intel_backlight",
|
||||||
|
"format": "{percent}% {icon}",
|
||||||
|
"format-icons": [
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"bat": "BAT0",
|
||||||
|
"interval": 60,
|
||||||
|
"states": {
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{capacity}% {icon}",
|
||||||
|
"format-icons": [
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
""
|
||||||
|
],
|
||||||
|
"max-length": 25
|
||||||
|
},
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "<span font='16'>{icon}</span>",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": "",
|
||||||
|
"deactivated": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"clock": {
|
||||||
|
"format": "{:%I:%M:%S %p | %a | %F}",
|
||||||
|
"interval": 1,
|
||||||
|
"tooltip-format": "\n<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>",
|
||||||
|
"calendar-weeks-pos": "right",
|
||||||
|
"today-format": "<span color='#7645AD'><b><u>{}</u></b></span>",
|
||||||
|
"format-calendar": "<span color='#aeaeae'><b>{}</b></span>",
|
||||||
|
"format-calendar-weeks": "<span color='#aeaeae'><b>W{:%V}</b></span>",
|
||||||
|
"format-calendar-weekdays": "<span color='#aeaeae'><b>{}</b></span>"
|
||||||
|
},
|
||||||
|
"disk": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {percentage_used}%",
|
||||||
|
"path": "/"
|
||||||
|
},
|
||||||
|
"cpu": {
|
||||||
|
"interval": 1,
|
||||||
|
"format": " {usage}%",
|
||||||
|
"min-length": 6,
|
||||||
|
"max-length": 6,
|
||||||
|
"format-icons": [
|
||||||
|
"▁",
|
||||||
|
"▂",
|
||||||
|
"▃",
|
||||||
|
"▄",
|
||||||
|
"▅",
|
||||||
|
"▆",
|
||||||
|
"▇",
|
||||||
|
"█"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"memory": {
|
||||||
|
"format": " {percentage}%"
|
||||||
|
},
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": "( {class} )",
|
||||||
|
"rewrite": {
|
||||||
|
"(.*) - Mozilla Firefox": "🌎 $1",
|
||||||
|
"(.*) - zsh": "> [$1]"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{volume:02}% {icon}",
|
||||||
|
"format-bluetooth": "",
|
||||||
|
"format-muted": "00% {icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"headphones": "",
|
||||||
|
"bluetooth": "",
|
||||||
|
"handsfree": "",
|
||||||
|
"headset": "",
|
||||||
|
"phone": "",
|
||||||
|
"portable": "",
|
||||||
|
"car": "",
|
||||||
|
"default": [
|
||||||
|
"🕨",
|
||||||
|
"🕩",
|
||||||
|
"🕪"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"justify": "center",
|
||||||
|
"on-click": "amixer sset Master toggle",
|
||||||
|
"on-click-right": "pavucontrol",
|
||||||
|
"tooltip-format": "{icon} {volume:02}%"
|
||||||
|
},
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 14,
|
||||||
|
"spacing": 10
|
||||||
|
},
|
||||||
|
"custom/exit": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "wlogout -b 2",
|
||||||
|
"tooltip": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
24
users/caperren/dotfiles/wlogout/layout
Normal file
24
users/caperren/dotfiles/wlogout/layout
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"label" : "lock",
|
||||||
|
"action" : "hyprlock",
|
||||||
|
"text" : "Lock",
|
||||||
|
"keybind" : "l"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "logout",
|
||||||
|
"action" : "loginctl terminate-user $USER",
|
||||||
|
"text" : "Logout",
|
||||||
|
"keybind" : "e"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "shutdown",
|
||||||
|
"action" : "systemctl poweroff",
|
||||||
|
"text" : "Shutdown",
|
||||||
|
"keybind" : "s"
|
||||||
|
}
|
||||||
|
{
|
||||||
|
"label" : "reboot",
|
||||||
|
"action" : "systemctl reboot",
|
||||||
|
"text" : "Reboot",
|
||||||
|
"keybind" : "r"
|
||||||
|
}
|
||||||
@@ -9,14 +9,17 @@
|
|||||||
"input"
|
"input"
|
||||||
"dialout"
|
"dialout"
|
||||||
];
|
];
|
||||||
packages = with pkgs; [ ];
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
services.displayManager.autoLogin = {
|
services.displayManager.autoLogin = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "crestline";
|
user = "crestline";
|
||||||
};
|
};
|
||||||
|
|
||||||
services.xserver.displayManager.gdm.autoLogin.delay = 60;
|
services.xserver.displayManager.gdm.autoLogin.delay = 60;
|
||||||
|
|
||||||
|
home-manager.users.crestline = {
|
||||||
|
home.username = "crestline";
|
||||||
|
home.homeDirectory = "/home/crestline";
|
||||||
|
home.stateVersion = "25.05";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user