1 Commits

Author SHA1 Message Date
9ce216da8f added reshade
wip: there are other packages available, might be advantageous of me to
added those other packages as optional values
2025-06-19 21:46:34 -04:00
18 changed files with 172 additions and 578 deletions

View File

@@ -10,7 +10,8 @@ set $right l
set $term alacritty
# Menu (rofi)
set $menu wofi --term '$term'
set $rofi_cmd rofi -terminal '$term'
set $menu $rofi_cmd -show combi -combi-modes drun#run -modes combi
### Output configuration
output DP-3 pos 3840 0 res 1920x1080@59Hz
@@ -27,17 +28,13 @@ output DP-3 bg ~/.wallpaper/.wallpaper.png fill
## DP-3 bindings
workspace 1 output DP-2
workspace 2 output DP-2
workspace 4 output DP-2
workspace 5 output DP-2
## HDMI-A-1 bindings
workspace 3 output HDMI-A-1
workspace 9 output HDMI-A-1
workspace 3 output HDMI-A-1
## DP-2 bindings
workspace 6 output DP-3
workspace 7 output DP-3
workspace 8 output DP-3
### Colour options
set $bg #24283b
@@ -90,9 +87,8 @@ floating_modifier $mod normal
# Reload the configuration file
bindsym $mod+Shift+c reload
# Shutdown and reboot hotkeys
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the shutdown shortcut. Do you really want to shutdown your computer?' -b 'Yes, shutdown' 'systemctl poweroff'
bindsym $mod+Shift+r exec swaynag -t warning -m 'You pressed the reboot shortcut. Do you really want to reboot your computer?' -b 'Yes, reboot' 'systemctl reboot'
# Exit sway (logs you out of your Wayland session)
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'
### Navigation
# Move your focus around
@@ -186,10 +182,9 @@ mode "resize" {
bindsym Return mode "default"
bindsym Escape mode "default"
}
### resize
bindsym $mod+r mode "resize"
### Audio and brightness keybinds
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
@@ -201,14 +196,16 @@ bindsym XF86AudioPrev exec playerctl previous
bindsym XF86MonBrightnessUp exec light -A 5
bindsym XF86MonBrightnessDown exec light -U 5
### Lock the screen
bindsym $mod+Ctrl+q 'swaylock -f -i /home/wyatt/.wallpaper/.wallpaper_lock.png'
### Lock the screen so my brother
### won't dick with my computer
bindsym $mod+Ctrl+l 'swaylock -f -i /home/wyatt/.wallpaper_lock.jpeg'
### Status Bar:
bar {
swaybar_command waybar
}
### Font settings:
font pango:FiraCode: 14px

View File

@@ -1,254 +0,0 @@
keybinds clear-defaults=true {
locked {
bind "Ctrl g" { SwitchToMode "normal"; }
}
pane {
bind "left" { MoveFocus "left"; }
bind "down" { MoveFocus "down"; }
bind "up" { MoveFocus "up"; }
bind "right" { MoveFocus "right"; }
bind "c" { SwitchToMode "renamepane"; PaneNameInput 0; }
bind "d" { NewPane "down"; SwitchToMode "normal"; }
bind "e" { TogglePaneEmbedOrFloating; SwitchToMode "normal"; }
bind "f" { ToggleFocusFullscreen; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; }
bind "j" { MoveFocus "down"; }
bind "k" { MoveFocus "up"; }
bind "l" { MoveFocus "right"; }
bind "n" { NewPane; SwitchToMode "normal"; }
bind "p" { SwitchFocus; }
bind "Ctrl p" { SwitchToMode "normal"; }
bind "r" { NewPane "right"; SwitchToMode "normal"; }
bind "w" { ToggleFloatingPanes; SwitchToMode "normal"; }
bind "z" { TogglePaneFrames; SwitchToMode "normal"; }
}
tab {
bind "left" { GoToPreviousTab; }
bind "down" { GoToNextTab; }
bind "up" { GoToPreviousTab; }
bind "right" { GoToNextTab; }
bind "1" { GoToTab 1; SwitchToMode "normal"; }
bind "2" { GoToTab 2; SwitchToMode "normal"; }
bind "3" { GoToTab 3; SwitchToMode "normal"; }
bind "4" { GoToTab 4; SwitchToMode "normal"; }
bind "5" { GoToTab 5; SwitchToMode "normal"; }
bind "6" { GoToTab 6; SwitchToMode "normal"; }
bind "7" { GoToTab 7; SwitchToMode "normal"; }
bind "8" { GoToTab 8; SwitchToMode "normal"; }
bind "9" { GoToTab 9; SwitchToMode "normal"; }
bind "[" { BreakPaneLeft; SwitchToMode "normal"; }
bind "]" { BreakPaneRight; SwitchToMode "normal"; }
bind "b" { BreakPane; SwitchToMode "normal"; }
bind "h" { GoToPreviousTab; }
bind "j" { GoToNextTab; }
bind "k" { GoToPreviousTab; }
bind "l" { GoToNextTab; }
bind "n" { NewTab; SwitchToMode "normal"; }
bind "r" { SwitchToMode "renametab"; TabNameInput 0; }
bind "s" { ToggleActiveSyncTab; SwitchToMode "normal"; }
bind "Ctrl t" { SwitchToMode "normal"; }
bind "x" { CloseTab; SwitchToMode "normal"; }
bind "tab" { ToggleTab; }
}
resize {
bind "left" { Resize "Increase left"; }
bind "down" { Resize "Increase down"; }
bind "up" { Resize "Increase up"; }
bind "right" { Resize "Increase right"; }
bind "+" { Resize "Increase"; }
bind "-" { Resize "Decrease"; }
bind "=" { Resize "Increase"; }
bind "H" { Resize "Decrease left"; }
bind "J" { Resize "Decrease down"; }
bind "K" { Resize "Decrease up"; }
bind "L" { Resize "Decrease right"; }
bind "h" { Resize "Increase left"; }
bind "j" { Resize "Increase down"; }
bind "k" { Resize "Increase up"; }
bind "l" { Resize "Increase right"; }
bind "Ctrl n" { SwitchToMode "normal"; }
}
move {
bind "left" { MovePane "left"; }
bind "down" { MovePane "down"; }
bind "up" { MovePane "up"; }
bind "right" { MovePane "right"; }
bind "h" { MovePane "left"; }
bind "Ctrl h" { SwitchToMode "normal"; }
bind "j" { MovePane "down"; }
bind "k" { MovePane "up"; }
bind "l" { MovePane "right"; }
bind "n" { MovePane; }
bind "p" { MovePaneBackwards; }
bind "tab" { MovePane; }
}
scroll {
bind "Alt left" { MoveFocusOrTab "left"; SwitchToMode "normal"; }
bind "Alt down" { MoveFocus "down"; SwitchToMode "normal"; }
bind "Alt up" { MoveFocus "up"; SwitchToMode "normal"; }
bind "Alt right" { MoveFocusOrTab "right"; SwitchToMode "normal"; }
bind "e" { EditScrollback; SwitchToMode "normal"; }
bind "Alt h" { MoveFocusOrTab "left"; SwitchToMode "normal"; }
bind "Alt j" { MoveFocus "down"; SwitchToMode "normal"; }
bind "Alt k" { MoveFocus "up"; SwitchToMode "normal"; }
bind "Alt l" { MoveFocusOrTab "right"; SwitchToMode "normal"; }
bind "s" { SwitchToMode "entersearch"; SearchInput 0; }
}
search {
bind "c" { SearchToggleOption "CaseSensitivity"; }
bind "n" { Search "down"; }
bind "o" { SearchToggleOption "WholeWord"; }
bind "p" { Search "up"; }
bind "w" { SearchToggleOption "Wrap"; }
}
session {
bind "c" {
LaunchOrFocusPlugin "configuration" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "Ctrl o" { SwitchToMode "normal"; }
bind "p" {
LaunchOrFocusPlugin "plugin-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
bind "w" {
LaunchOrFocusPlugin "session-manager" {
floating true
move_to_focused_tab true
}
SwitchToMode "normal"
}
}
shared_except "locked" {
bind "Alt +" { Resize "Increase"; }
bind "Alt -" { Resize "Decrease"; }
bind "Alt =" { Resize "Increase"; }
bind "Alt [" { PreviousSwapLayout; }
bind "Alt ]" { NextSwapLayout; }
bind "Alt f" { ToggleFloatingPanes; }
bind "Ctrl g" { SwitchToMode "locked"; }
bind "Alt i" { MoveTab "left"; }
bind "Alt n" { NewPane; }
bind "Alt o" { MoveTab "right"; }
bind "Ctrl q" { Quit; }
}
shared_except "locked" "move" {
bind "Ctrl h" { SwitchToMode "move"; }
}
shared_except "locked" "session" {
bind "Ctrl o" { SwitchToMode "session"; }
}
shared_except "locked" "scroll" {
bind "Alt left" { MoveFocusOrTab "left"; }
bind "Alt down" { MoveFocus "down"; }
bind "Alt up" { MoveFocus "up"; }
bind "Alt right" { MoveFocusOrTab "right"; }
bind "Alt h" { MoveFocusOrTab "left"; }
bind "Alt j" { MoveFocus "down"; }
bind "Alt k" { MoveFocus "up"; }
bind "Alt l" { MoveFocusOrTab "right"; }
}
shared_except "locked" "scroll" "search" "tmux" {
bind "Ctrl b" { SwitchToMode "tmux"; }
}
shared_except "locked" "tab" {
bind "Ctrl t" { SwitchToMode "tab"; }
}
shared_except "locked" "pane" {
bind "Ctrl p" { SwitchToMode "pane"; }
}
shared_except "locked" "resize" {
bind "Ctrl n" { SwitchToMode "resize"; }
}
shared_except "normal" "locked" "entersearch" {
bind "enter" { SwitchToMode "normal"; }
}
shared_except "normal" "locked" "entersearch" "renametab" "renamepane" {
bind "esc" { SwitchToMode "normal"; }
}
shared_among "pane" "tmux" {
bind "x" { CloseFocus; SwitchToMode "normal"; }
}
shared_among "scroll" "search" {
bind "PageDown" { PageScrollDown; }
bind "PageUp" { PageScrollUp; }
bind "left" { PageScrollUp; }
bind "down" { ScrollDown; }
bind "up" { ScrollUp; }
bind "right" { PageScrollDown; }
bind "Ctrl b" { PageScrollUp; }
bind "Ctrl c" { ScrollToBottom; SwitchToMode "normal"; }
bind "d" { HalfPageScrollDown; }
bind "Ctrl f" { PageScrollDown; }
bind "h" { PageScrollUp; }
bind "j" { ScrollDown; }
bind "k" { ScrollUp; }
bind "l" { PageScrollDown; }
bind "u" { HalfPageScrollUp; }
}
entersearch {
bind "Ctrl c" { SwitchToMode "scroll"; }
bind "esc" { SwitchToMode "scroll"; }
bind "enter" { SwitchToMode "search"; }
}
renametab {
bind "esc" { UndoRenameTab; SwitchToMode "tab"; }
}
shared_among "renametab" "renamepane" {
bind "Ctrl c" { SwitchToMode "normal"; }
}
renamepane {
bind "esc" { UndoRenamePane; SwitchToMode "pane"; }
}
shared_among "session" "tmux" {
bind "d" { Detach; }
}
tmux {
bind "left" { MoveFocus "left"; SwitchToMode "normal"; }
bind "down" { MoveFocus "down"; SwitchToMode "normal"; }
bind "up" { MoveFocus "up"; SwitchToMode "normal"; }
bind "right" { MoveFocus "right"; SwitchToMode "normal"; }
bind "space" { NextSwapLayout; }
bind "\"" { NewPane "down"; SwitchToMode "normal"; }
bind "%" { NewPane "right"; SwitchToMode "normal"; }
bind "," { SwitchToMode "renametab"; }
bind "[" { SwitchToMode "scroll"; }
bind "Ctrl b" { Write 2; SwitchToMode "normal"; }
bind "c" { NewTab; SwitchToMode "normal"; }
bind "h" { MoveFocus "left"; SwitchToMode "normal"; }
bind "j" { MoveFocus "down"; SwitchToMode "normal"; }
bind "k" { MoveFocus "up"; SwitchToMode "normal"; }
bind "l" { MoveFocus "right"; SwitchToMode "normal"; }
bind "n" { GoToNextTab; SwitchToMode "normal"; }
bind "o" { FocusNextPane; }
bind "p" { GoToPreviousTab; SwitchToMode "normal"; }
bind "z" { ToggleFocusFullscreen; SwitchToMode "normal"; }
}
}
plugins {
compact-bar location="zellij:compact-bar"
configuration location="zellij:configuration"
filepicker location="zellij:strider" {
cwd "/"
}
plugin-manager location="zellij:plugin-manager"
session-manager location="zellij:session-manager"
status-bar location="zellij:status-bar"
strider location="zellij:strider"
tab-bar location="zellij:tab-bar"
}
load_plugins {
}
theme "catppuccin-mocha"
show_startup_tips false
show_release_notes false
default_mode "normal"

140
flake.lock generated
View File

@@ -7,11 +7,11 @@
]
},
"locked": {
"lastModified": 1749744770,
"narHash": "sha256-MEM9XXHgBF/Cyv1RES1t6gqAX7/tvayBC1r/KPyK1ls=",
"lastModified": 1748044287,
"narHash": "sha256-9bJzyUX5+HXYmI60WMGYXXDdhGbSh1Le6yBM4og3K7E=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "536f951efb1ccda9b968e3c9dee39fbeb6d3fdeb",
"rev": "2456ff5c95edfc3b197cb012b947012faed77591",
"type": "github"
},
"original": {
@@ -24,11 +24,11 @@
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github"
},
"original": {
@@ -59,16 +59,17 @@
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable",
"nixpkgs-unstable": "nixpkgs-unstable",
"zig": "zig",
"zon2nix": "zon2nix"
},
"locked": {
"lastModified": 1753816554,
"narHash": "sha256-eyFfBXb5IJaNTGTdkjpWKSMTs8wiJ0i+9n5jUKtVFa4=",
"lastModified": 1748207486,
"narHash": "sha256-4kR7VyauWpNMrBePHMM8yzQvUzHHGRVkQpJ3DyoKcH0=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "c78d32074ebab14d2060e5cd3c7667cbe37ab8ee",
"rev": "3f6c02b49e08aed51e4be85d87b79b9dbea34a85",
"type": "github"
},
"original": {
@@ -84,11 +85,11 @@
]
},
"locked": {
"lastModified": 1753592768,
"narHash": "sha256-oV695RvbAE4+R9pcsT9shmp6zE/+IZe6evHWX63f2Qg=",
"lastModified": 1747556831,
"narHash": "sha256-Qb84nbYFFk0DzFeqVoHltS2RodAYY5/HZQKE8WnBDsc=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "fc3add429f21450359369af74c2375cb34a2d204",
"rev": "d0bbd221482c2713cccb80220f3c9d16a6e20a33",
"type": "github"
},
"original": {
@@ -114,26 +115,80 @@
"type": "github"
}
},
"nixpkgs": {
"nix-reshade": {
"inputs": {
"nixpkgs": "nixpkgs",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1748189127,
"narHash": "sha256-zRDR+EbbeObu4V2X5QCd2Bk5eltfDlCr5yvhBwUT6pY=",
"rev": "7c43f080a7f28b2774f3b3f43234ca11661bf334",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/25.05/nixos-25.05.802491.7c43f080a7f2/nixexprs.tar.xz"
"lastModified": 1749858810,
"narHash": "sha256-xg/MnKlnI6G/mLrh2apPuXUq8wjYSBbt8RtilM5cutI=",
"owner": "LovingMelody",
"repo": "nix-reshade",
"rev": "e1a7e702b052e4a98a9f15796f048270b2aca679",
"type": "github"
},
"original": {
"type": "tarball",
"url": "https://channels.nixos.org/nixos-25.05/nixexprs.tar.xz"
"owner": "LovingMelody",
"repo": "nix-reshade",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1749285348,
"narHash": "sha256-frdhQvPbmDYaScPFiCnfdh3B/Vh81Uuoo0w5TkWmmjU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e3afe5174c561dee0df6f2c2b2236990146329f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1741992157,
"narHash": "sha256-nlIfTsTrMSksEJc1f7YexXiPVuzD1gOfeN1ggwZyUoc=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "da4b122f63095ca1199bd4d526f9e26426697689",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "release-24.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1741865919,
"narHash": "sha256-4thdbnP6dlbdq+qZWTsm4ffAwoS8Tiq1YResB+RP6WE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "573c650e8a14b2faa0041645ab18aed7e60f0c9a",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1753749649,
"narHash": "sha256-+jkEZxs7bfOKfBIk430K+tK9IvXlwzqQQnppC2ZKFj4=",
"lastModified": 1747953325,
"narHash": "sha256-y2ZtlIlNTuVJUZCqzZAhIw5rrKP4DOSklev6c8PyCkQ=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1f08a4df998e21f4e8be8fb6fbf61d11a1a5076a",
"rev": "55d1f923c480dadce40f5231feb472e81b0bab48",
"type": "github"
},
"original": {
@@ -149,6 +204,7 @@
"ghostty": "ghostty",
"home-manager": "home-manager",
"nix-flatpak": "nix-flatpak",
"nix-reshade": "nix-reshade",
"nixpkgs": "nixpkgs_2"
}
},
@@ -167,11 +223,31 @@
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nix-reshade",
"nixpkgs"
]
},
"locked": {
"lastModified": 1749194973,
"narHash": "sha256-eEy8cuS0mZ2j/r/FE0/LYBSBcIs/MKOIVakwHVuqTfk=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "a05be418a1af1198ca0f63facb13c985db4cb3c5",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"zig": {
"inputs": {
"flake-compat": [
"ghostty",
"flake-compat"
"ghostty"
],
"flake-utils": [
"ghostty",
@@ -179,15 +255,15 @@
],
"nixpkgs": [
"ghostty",
"nixpkgs"
"nixpkgs-stable"
]
},
"locked": {
"lastModified": 1748261582,
"narHash": "sha256-3i0IL3s18hdDlbsf0/E+5kyPRkZwGPbSFngq5eToiAA=",
"lastModified": 1741825901,
"narHash": "sha256-aeopo+aXg5I2IksOPFN79usw7AeimH1+tjfuMzJHFdk=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "aafb1b093fb838f7a02613b719e85ec912914221",
"rev": "0b14285e283f5a747f372fb2931835dd937c4383",
"type": "github"
},
"original": {
@@ -204,7 +280,7 @@
],
"nixpkgs": [
"ghostty",
"nixpkgs"
"nixpkgs-unstable"
]
},
"locked": {
@@ -217,8 +293,8 @@
},
"original": {
"owner": "jcollie",
"ref": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
"repo": "zon2nix",
"rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
"type": "github"
}
}

View File

@@ -2,31 +2,25 @@
description = "Wyatt's nix configuration suite";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.6.0";
home-manager = {
url = "github:nix-community/home-manager/release-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager-unstable = {
url = "https://github.com/nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
darwin = {
url = "github:lnl7/nix-darwin/nix-darwin-25.05";
inputs.nixpkgs.follows = "nixpkgs";
};
ghostty.url = "github:ghostty-org/ghostty";
nix-reshade.url = "github:LovingMelody/nix-reshade";
};
outputs = inputs @ {
self,
nixpkgs,
nixpkgs-unstable,
nix-flatpak,
darwin,
home-manager,
home-manager-unstable,
ghostty,
...
}: let
@@ -35,10 +29,6 @@
extraSpecialArgs = {
inherit userName userEmail ghostty;
};
obsidianOverlay = final: prev: {
obsidian = nixpkgs-unstable.legacyPackages.${final.system}.obsidian;
};
in {
meta = import ./meta;
@@ -77,10 +67,6 @@
./modules/common
./modules/machine/cloud
{
nixpkgs.overlays = [ obsidianOverlay ];
}
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;

View File

@@ -1,17 +0,0 @@
{ pkgs, ... }: {
programs.bat = {
enable = true;
config.theme = "catppuccin";
themes.catppuccin = {
src = pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "bat";
rev = "ba4d16880d63e656acced2b7d4e034e4a93f74b1";
hash = "sha256-6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw=";
};
file = "/Catppuccin-mocha.tmTheme";
};
};
}

View File

@@ -1,5 +1,4 @@
{
config,
lib,
pkgs,
userName,
@@ -14,7 +13,7 @@
};
in {
# Import sub modules
imports = map (module: import module {inherit config lib pkgs dirs userName userEmail ghostty;}) [
imports = map (module: import module {inherit lib pkgs dirs userName userEmail ghostty;}) [
./atuin.nix
./shell.nix
./packages
@@ -26,9 +25,6 @@ in {
./sway.nix
./terminal.nix
./browser.nix
./zellij.nix
./bat.nix
./obsidian.nix
];
# Home Manager needs a bit of information about you and the
@@ -43,7 +39,6 @@ in {
sessionVariables = {
XDG_CURRENT_DESKTOP = "sway";
XDG_SESSION_TYPE = "wayland";
XDG_SESSION_DESKTOP="sway";
XDG_CONFIG_HOME = "$HOME/.config";
XDG_CACHE_HOME = "$HOME/.cache";
XDG_DATA_HOME = "$HOME/.local/share";
@@ -58,7 +53,7 @@ in {
size = 22;
};
stateVersion = "25.05";
stateVersion = "24.11";
};
# Let Home Manager install and manage itself.

View File

@@ -1,53 +0,0 @@
{ config, home-manager-unstable, pkgs, ...}: {
home.packages = with pkgs; [
obsidian
obsidian-export
];
programs.obsidian = {
enable = true;
package =
vaults = {
"notes" = {
enable = true;
target = "${config.home.homeDirectory}/Documents/obsidian/notes";
};
"work-notes" = {
enable = true;
target = "${config.home.homeDirectory}/Documents/obsidian/work-notes";
};
};
# defaultSettings = {
# themes = [ "catppuccin" ];
# };
};
home.activation.obsidianRepos = config.lib.dag.entryAfter ["writeBoundary"] ''
REPOS_DIR="${config.home.homeDirectory}/Documents/obsidian"
# Create the repos directory if it doesn't exist
mkdir -p "$REPOS_DIR"
# Function to clone or update a repository
clone_or_update() {
local repo_url="$1"
local vault_name="$2"
local vault_path="$REPOS_DIR/$vault_name"
if [ -d "$vault_path/.git" ]; then
echo "Updating existing vault: $vault_name"
cd "$vault_path"
${pkgs.git}/bin/git pull origin main || ${pkgs.git}/bin/git pull origin master || true
else
echo "Cloning new vault: $vault_name"
rm -rf "$vault_path" # Remove if exists but not a git repo
${pkgs.git}/bin/git clone "$repo_url" "$vault_path" || true
fi
}
# Clone repositories
clone_or_update "https://scm.wyattjmiller.com/NoteFolio/notes.git" "notes"
clone_or_update "https://scm.wyattjmiller.com/NoteFolio/work-notes.git" "work-notes"
echo "Obsidian repository vaults setup complete in $REPOS_DIR"
'';
}

View File

@@ -4,7 +4,7 @@
...
}: {
home.packages = with pkgs; [
yazi # terminal file manager
nnn # terminal file manager
# archives
zip
@@ -13,7 +13,9 @@
p7zip
# utils
zellij
tmux
bat
lazygit
bottom
ripgrep
@@ -23,6 +25,7 @@
fh
aria2
yt-dlp
obsidian
vscode
weechat
inetutils

View File

@@ -11,10 +11,6 @@
mcrcon
xfce.thunar
pavucontrol
godot
aseprite
gpu-screen-recorder
gpu-screen-recorder-gtk
# ungoogled-chromium
]);
}

View File

@@ -29,138 +29,26 @@ in {
xdg.configFile."sway/config".source = lib.mkForce (dirs.defaults + /sway/config);
xdg.configFile."waybar/config".source = lib.mkForce (dirs.defaults + /waybar/config);
xdg.configFile."waybar/style.css".source = lib.mkForce (dirs.defaults + /waybar/style.css);
programs.wofi = {
enable = pkgs.stdenv.isLinux;
settings = {
width=600;
height=350;
location="center";
show="drun";
prompt="Search...";
filter_rate=100;
allow_markup=true;
no_actions=true;
halign="fill";
orientation="vertical";
content_halign="fill";
insensitive=true;
allow_images=true;
image_size=40;
gtk_dark=true;
};
style = ''
@define-color selected-text #8caaee;
@define-color text #c6d0f5;
@define-color base #24273a;
* {
font-family: 'Monaspace Krypton 9', monospace;
font-size: 18px;
}
window {
margin: 0px;
padding: 20px;
background-color: @base;
opacity: 0.95;
}
#inner-box {
margin: 0;
padding: 0;
border: none;
background-color: @base;
}
#outer-box {
margin: 0;
padding: 20px;
border: none;
background-color: @base;
}
#scroll {
margin: 0;
padding: 0;
border: none;
background-color: @base;
}
#input {
margin: 0;
padding: 10px;
border: none;
background-color: @base;
color: @text;
}
#input:focus {
outline: none;
box-shadow: none;
border: none;
}
#text {
margin: 5px;
border: none;
color: @text;
}
#entry {
background-color: @base;
}
#entry:selected {
outline: none;
border: none;
}
#entry:selected #text {
color: @selected-text;
}
#entry image {
-gtk-icon-transform: scale(0.7);
}
'';
};
programs.swaylock.enable = pkgs.stdenv.isLinux;
services.mako = {
enable = pkgs.stdenv.isLinux;
settings = {
text-color="#cad3f5";
border-color="#c6d0f5";
background-color="#24273a";
width=420;
height=110;
padding=10;
border-size=2;
font="Monaspace Krypton 9";
anchor="top-right";
default-timeout=5000;
max-icon-size=32;
};
};
programs.rofi.enable = pkgs.stdenv.isLinux;
services.mako.enable = pkgs.stdenv.isLinux;
programs.waybar = {
enable = pkgs.stdenv.isLinux;
systemd.enable = true;
package = pkgs.waybar.overrideAttrs (old: {
version = "0.13.0";
version = "0.11.0";
src = pkgs.fetchFromGitHub {
owner = "Alexays";
repo = "Waybar";
rev = "0fcda9afa519eb84deda68c051f7938a6c6bdbce";
sha256 = "sha256-Puo/Y4qotb6uEEe9vbu/hyFXwLntr48R2C6mrmDKs0c=";
rev = "d56dd6ee7fdf8c5ba4e90790af62b7f7829d3a47";
sha256 = "sha256-3lc0voMU5RS+mEtxKuRayq/uJO09X7byq6Rm5NZohq8=";
fetchSubmodules = true;
};
buildInputs = old.buildInputs ++ [ pkgs.fftw ];
mesonFlags = (old.mesonFlags or []) ++ [ "-Dcava=disabled" ];
buildInputs = old.buildInputs ++ [ pkgs.fftw pkgs.libcava ];
# mesonFlags = (old.mesonFlags or []) ++ [ "-Dcava=disabled" ];
});
};
}

View File

@@ -1,14 +0,0 @@
{
lib,
...
}: let
dirs = {
defaults = ../defaults;
};
in {
programs.zellij = {
enable = true;
};
xdg.configFile."zellij/config.kdl".source = lib.mkForce (dirs.defaults + /zellij/config.kdl);
}

View File

@@ -2,6 +2,7 @@
config,
lib,
pkgs,
inputs,
...
}: let
cfg = config.gaming;
@@ -108,6 +109,10 @@ in {
ffxiv = {
enable = lib.mkEnableOption "Final Fantasy XIV and it's accompanied (unofficial) launcher";
};
reshade = {
enable = lib.mkEnableOption "ReShade, a post-processing injector for games and video software";
};
};
config = {
@@ -154,6 +159,7 @@ in {
cfg.lutris.extraPackages
)) ++
(lib.optionals cfg.minecraft.enable [pkgs.prismlauncher]) ++
(lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher]);
(lib.optionals cfg.ffxiv.enable [pkgs.xivlauncher]) ++
(lib.optionals cfg.reshade.enable [inputs.packages.${pkgs.system}.reshade]);
};
}

View File

@@ -5,7 +5,6 @@
}: {
imports = [
./core.nix
./environment.nix
./fonts.nix
./users.nix
];

View File

@@ -1,20 +0,0 @@
{ lib, pkgs, ... }: {
# Common packages that every system will use
environment.systemPackages = with pkgs; [
git
vim
neovim
usbutils
coreutils
lshw
systemd
dmidecode
pciutils
nix-ld
patchelf
htop
];
# Common environment variables that every system will use
environment.variables.EDITOR = "nvim";
}

View File

@@ -5,6 +5,10 @@
hostname,
...
} @ args: {
imports = [
../security/sudo.nix
];
networking.hostName = hostname;
# Don't forget to set a password with passwd!
@@ -23,19 +27,7 @@
})
];
security.sudo = {
extraRules = [
{
groups = [ "wheel" ];
commands = [
{
command = "ALL";
options = [ "NOPASSWD" "SETENV" ];
}
];
}
];
};
security.sudo.needsPassword = false;
users.groups.wyatt = {};

View File

@@ -11,6 +11,7 @@
"info.beyondallreason.bar"
"io.dbeaver.DBeaverCommunity"
"io.openrct2.OpenRCT2"
"md.obsidian.Obsidian"
"org.prismlauncher.PrismLauncher"
"sh.cider.Cider"
];
@@ -45,23 +46,25 @@ in {
# Install packages to be installed system-wide
environment.systemPackages = with pkgs; [
vim
neovim
git
wireguard-tools
grim
slurp
playerctl
light
brightnessctl
firefox
wttrbar
cliphist
xdg-desktop-portal-gtk
xdg-utils
flatpak-xdg-utils
desktop-file-utils
shared-mime-info
wl-clipboard
wl-clip-persist
patchelf
nix-ld
];
# Set the EDITOR global environment variable to neovim
environment.variables.EDITOR = "nvim";
# Enable OpenSSH
services.openssh.enable = true;
@@ -157,16 +160,15 @@ in {
xdg = {
portal = {
enable = true;
wlr.enable = true;
config = {
sway = {
default = [ "wlr" "gtk" ];
"org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
};
common = {
default = [ "gtk" ];
"org.freedesktop.impl.portal.Secret" = [ "gnome-keyring" ];
default = [
"wlr"
];
};
};
xdgOpenUsePortal = true;
extraPortals = with pkgs; [
xdg-desktop-portal-wlr
xdg-desktop-portal-gtk

View File

@@ -6,4 +6,4 @@ Licensed by the Mozilla Public License v2
## Synopsis
This is where the machine-specific configuration files for hostname `valefor` live, my apartment appliance server. These files get called by the root `flake.nix` file.
This directory is currently empty so, currently, there's nothing to see! However, this is where the machine-specific configuration files for hostname `valefor` live, my apartment appliance server. These files get called by the root `flake.nix` file.

View File

@@ -27,6 +27,18 @@
# Set your timezone
time.timeZone = "America/Detroit";
# Install packages to be installed system-wide
environment.systemPackages = with pkgs; [
vim
neovim
git
patchelf
nix-ld
];
# Set the EDITOR global environment variable to neovim
environment.variables.EDITOR = "nvim";
# Enable OpenSSH
services.openssh.enable = true;