Compare commits
7 commits
new-bootlo
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
a04498c0b1 | ||
|
bdb08351ce | ||
|
c23b60f866 | ||
|
1c3f633224 | ||
|
ebc322922f | ||
|
a0ac11339d | ||
|
f4b1d571ae |
|
@ -15,6 +15,7 @@
|
|||
(gnu home services shells)
|
||||
(gnu home services desktop)
|
||||
(gnu home services gnupg)
|
||||
(gnu home services fontutils)
|
||||
(gnu home services)
|
||||
(ryan-services pipewire)
|
||||
(ryan-services spotify)
|
||||
|
@ -134,7 +135,7 @@
|
|||
"signal-desktop"
|
||||
"sc-im"
|
||||
"git-lfs"))
|
||||
(list my-neovim wl-mirror firefox-wrapped calcurse-fixed )))
|
||||
(list my-neovim wl-mirror calcurse-fixed )))
|
||||
|
||||
;; Below is the list of Home services. To search for available
|
||||
;; services, run 'guix home search KEYWORD' in a terminal.
|
||||
|
@ -155,6 +156,7 @@
|
|||
("nvim/after/ftplugin/mail/custom.vim" ,(local-file "nvim/config/after/ftplugin/mail/custom.vim"))
|
||||
("sway" ,(local-file "sway" #:recursive? #t))
|
||||
("hypr" ,(local-file "hypr" #:recursive? #t))
|
||||
("wpaperd" ,(local-file "wpaperd" #:recursive? #t))
|
||||
("mpv" ,(local-file "mpv" #:recursive? #t))
|
||||
("foot" ,(local-file "foot" #:recursive? #t))
|
||||
("pulse/client.conf" ,(local-file "pulseaudio/client.conf"))
|
||||
|
@ -165,15 +167,34 @@
|
|||
`((".local/share/nvim/site/autoload/plug.vim" ,(local-file "nvim/plugin-manager/plug.vim"))
|
||||
(".ssh/config" ,(local-file "ssh/config"))
|
||||
(".icons" ,(local-file "icons" #:recursive? #t))
|
||||
(".mozilla/native-messaging-hosts/tridactyl.json" ,(local-file "tridactyl/tridactyl.json"))
|
||||
;(".mozilla/native-messaging-hosts/tridactyl.json" ,(local-file "tridactyl/tridactyl.json"))
|
||||
;(".gnupg/sshcontrol" ,(local-file "gnupg/sshcontrol"))
|
||||
;(".gnupg/gpg-agent.conf" ,(local-file "gnupg/gpg-agent.conf"))
|
||||
(".fonts" ,(local-file "fonts" #:recursive? #t))
|
||||
(".local/share/fonts" ,(local-file "fonts" #:recursive? #t))
|
||||
(".gitconfig" ,(local-file "gitconfig"))
|
||||
(".docker/cli-plugins" ,(local-file "docker/cli-plugins" #:recursive? #t))
|
||||
(".nix-channels" ,(local-file "nix-channels"))))
|
||||
(service home-pipewire-service-type)
|
||||
(service home-spotifyd-service-type)
|
||||
; font things for nix to play nice
|
||||
(simple-service 'additional-fonts-service
|
||||
home-fontconfig-service-type
|
||||
(list "~/.nix-profile/share/fonts"
|
||||
'(match (@ (target "pattern"))
|
||||
(edit (@ (name "family") (mode "prepend"))
|
||||
(string "DejaVu Sans")))
|
||||
'(alias
|
||||
(family "serif")
|
||||
(prefer
|
||||
(family "DejaVu Serif")))
|
||||
'(alias
|
||||
(family "sans")
|
||||
(prefer
|
||||
(family "DejaVu Sans")))
|
||||
'(alias
|
||||
(family "monospace")
|
||||
(prefer
|
||||
(family "DejaVu Sans Mono")))))
|
||||
(service home-dbus-service-type)
|
||||
;;; trying some changes
|
||||
;(template-files "."
|
||||
|
|
|
@ -11,7 +11,9 @@ nice -n13 swww init &
|
|||
#~/.config/hypr/wallpaper-daemon.sh &
|
||||
wpaperd -d &
|
||||
|
||||
swayidle -w timeout 300 'swaylock --screenshots --clock --indicator --grace 3 --fade-in 1 --effect-blur 7x5 --effect-greyscale' timeout 600 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep 'swaylock -f -c 000000' &
|
||||
#swayidle -w timeout 300 'swaylock --screenshots --clock --indicator --grace 3 --fade-in 1 --effect-blur 7x5 --effect-greyscale' timeout 600 'hyprctl dispatch dpms off' resume 'hyprctl dispatch dpms on' before-sleep 'swaylock -f -c 000000' &
|
||||
|
||||
hypridle &
|
||||
|
||||
syncthing serve --no-browser &
|
||||
|
||||
|
|
16
home-config/hypr/hypridle.conf
Normal file
16
home-config/hypr/hypridle.conf
Normal file
|
@ -0,0 +1,16 @@
|
|||
general {
|
||||
lock_cmd = pidof hyprlock || hyprlock
|
||||
before_sleep_cmd = loginctl lock-session
|
||||
after_sleep_cmd = hyprctl dispatch dpms on
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 300
|
||||
on-timeout = loginctl lock-session
|
||||
}
|
||||
|
||||
listener {
|
||||
timeout = 600
|
||||
on-timeout = hyprctl dispatch dpms off
|
||||
on-resume = hyprctl dispatch dpms on
|
||||
}
|
|
@ -14,6 +14,8 @@ env = HYPRCURSOR_SIZE,26
|
|||
env = XCURSOR_THEME,XCursor-Pro-Dark
|
||||
env = XCURSOR_SIZE,26
|
||||
|
||||
env = AQ_NO_MODIFIERS,1
|
||||
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
|
||||
|
@ -72,10 +74,12 @@ decoration {
|
|||
new_optimizations = on
|
||||
}
|
||||
|
||||
drop_shadow = yes
|
||||
shadow_range = 4
|
||||
shadow_render_power = 3
|
||||
col.shadow = rgba(1a1a1aee)
|
||||
shadow {
|
||||
enabled = true
|
||||
range = 4
|
||||
render_power = 3
|
||||
color = rgba(1a1a1aee)
|
||||
}
|
||||
}
|
||||
|
||||
animations {
|
||||
|
@ -203,8 +207,11 @@ bindm = $mainMod, mouse:272, movewindow
|
|||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Bind mainMod + L to screenlocker
|
||||
bind = $mainMod, L, exec, swaylock --screenshots --clock --indicator --fade-in 0.3 --effect-blur 7x5 --effect-greyscale
|
||||
bind = $mainMod SHIFT, L, exec, swaylock --screenshots --clock --indicator --effect-blur 7x5 --effect-greyscale & sleep 0.5; loginctl suspend
|
||||
bind = $mainMod, L, exec, hyprlock
|
||||
bind = $mainMod SHIFT, L, exec, loginctl suspend
|
||||
|
||||
# Keybind to toggle "performance mode" (toggles GPU intensive things)
|
||||
bind = $mainMod, F1, exec, ~/.config/hypr/perf_mode.sh
|
||||
|
||||
# Keybind for screenshot
|
||||
bind = $mainMod SHIFT, S, exec, grimblast copy area
|
||||
|
@ -236,7 +243,7 @@ windowrulev2 = suppressevent fullscreen maximize, class:^(firefox)$, title:^(Fir
|
|||
|
||||
# Weather
|
||||
windowrulev2 = float,class:^(ala-wttr)$
|
||||
windowrulev2 = size 740 712, class:^(ala-wttr)$
|
||||
windowrulev2 = size 822 1026, class:^(ala-wttr)$
|
||||
|
||||
# Floating terminal
|
||||
windowrulev2 = float,class:^(float-foot)$
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
background {
|
||||
monitor =
|
||||
path = /home/ryan/.config/hypr/Wallpapers/static/autumn1.png
|
||||
#path = /home/ryan/.config/hypr/Wallpapers/static/autumn1.png
|
||||
path = screenshot
|
||||
|
||||
# all these options are taken from hyprland, see https://wiki.hyprland.org/Configuring/Variables/#blur for explanations
|
||||
blur_passes = 2 # 0 disables blurring
|
||||
|
@ -52,4 +53,5 @@ label {
|
|||
position = 0, 300
|
||||
halign = center
|
||||
valign = center
|
||||
font_family = Lilex Nerd Font
|
||||
}
|
||||
|
|
|
@ -2,11 +2,6 @@ profile {
|
|||
output "AU Optronics 0x103D Unknown" enable
|
||||
}
|
||||
|
||||
profile tylerdesk {
|
||||
output "AU Optronics 0x103D Unknown" disable
|
||||
output "Dell Inc. DELL U3421WE 6WK8753" enable
|
||||
}
|
||||
|
||||
profile emilydesk {
|
||||
output "AU Optronics 0x103D Unknown" disable
|
||||
output "Dell Inc. DELL U2422H JN4SF83" position 0,0 mode 1920x1080
|
||||
|
@ -19,3 +14,9 @@ profile justindesk {
|
|||
output "Dell Inc. DELL U2417H XVNNT7CDC80L" position 1920,0 mode 1920x1080
|
||||
output "Dell Inc. DELL U2417H XVNNT82M978L" position 3840,0 mode 1920x1080
|
||||
}
|
||||
|
||||
profile homedesk {
|
||||
output "AU Optronics 0x103D Unknown" disable
|
||||
output "Samsung Electric Company C27F390 H1AK500000" position 0,0 mode 1920x1080
|
||||
output "Samsung Electric Company S22R35x H4TNA01683" position 1920,0 mode 1920x1080
|
||||
}
|
||||
|
|
14
home-config/hypr/perf_mode.sh
Executable file
14
home-config/hypr/perf_mode.sh
Executable file
|
@ -0,0 +1,14 @@
|
|||
#!/usr/bin/env bash
|
||||
HYPRGAMEMODE=$(hyprctl getoption animations:enabled | awk 'NR==1{print $2}')
|
||||
if [ "$HYPRGAMEMODE" = 1 ] ; then
|
||||
hyprctl --batch "\
|
||||
keyword animations:enabled 0;\
|
||||
keyword decoration:drop_shadow 0;\
|
||||
keyword decoration:blur:enabled 0;\
|
||||
keyword general:gaps_in 0;\
|
||||
keyword general:gaps_out 0;\
|
||||
keyword general:border_size 1;\
|
||||
keyword decoration:rounding 0"
|
||||
exit
|
||||
fi
|
||||
hyprctl reload
|
|
@ -20,11 +20,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727261104,
|
||||
"narHash": "sha256-rxDI7WrxIRV9it9mDCHcLa7xQykf1JloXnoXr5xQ8zI=",
|
||||
"lastModified": 1730968822,
|
||||
"narHash": "sha256-NocDjINsh6ismkhb0Xr6xPRksmhuB2WGf8ZmXMhxu7Y=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "aquamarine",
|
||||
"rev": "b82fdaff917582a9d568969e15e61b398c71e990",
|
||||
"rev": "a49bc3583ff223f426cb3526fdaa4bcaa247ec14",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -33,6 +33,22 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"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-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1659877975,
|
||||
|
@ -48,6 +64,28 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"pre-commit-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -55,17 +93,17 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729321331,
|
||||
"narHash": "sha256-KVyQq+ez/oB30/WbdNgVD8g/bda34z8NiU187QKQb74=",
|
||||
"lastModified": 1731604581,
|
||||
"narHash": "sha256-Qq2YZZaDTB3FZLWU/Hgh1uuWlUBl3cMLGB99bm7rFUM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "122f70545b29ccb922e655b08acfe05bfb44ec68",
|
||||
"rev": "1d0862ee2d7c6f6cd720d6f32213fa425004be10",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "122f70545b29ccb922e655b08acfe05bfb44ec68",
|
||||
"rev": "1d0862ee2d7c6f6cd720d6f32213fa425004be10",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -85,11 +123,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727532803,
|
||||
"narHash": "sha256-ZaZ7h7PY8mQc4vtGmVqWLAq9CAO02gHMyNR5yY8zDmM=",
|
||||
"lastModified": 1728669738,
|
||||
"narHash": "sha256-EDNAU9AYcx8OupUzbTbWE1d3HYdeG0wO6Msg3iL1muk=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprcursor",
|
||||
"rev": "b98726e431d4d3ed58bd58bee1047cdb81cec69f",
|
||||
"rev": "0264e698149fcb857a66a53018157b41f8d97bb0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -109,20 +147,21 @@
|
|||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"pre-commit-hooks": "pre-commit-hooks",
|
||||
"systems": "systems",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1728478479,
|
||||
"narHash": "sha256-AbfdIlK92oWpI39xlIaUekPeL9u95sXzxVsSqhIMfIc=",
|
||||
"lastModified": 1731162467,
|
||||
"narHash": "sha256-b0w2XOVCuEdBIiTpKaaeSesKux1Q51YWEWdKbljDXPE=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland",
|
||||
"rev": "4520b30d498daca8079365bdb909a8dea38e8d55",
|
||||
"rev": "a425fbebe4cf4238e48a42f724ef2208959d66cf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"ref": "v0.44.1",
|
||||
"ref": "v0.45.0",
|
||||
"repo": "hyprland",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -139,38 +178,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727451107,
|
||||
"narHash": "sha256-qV9savtHwmZUa0eJE294WYJjKPGB2+bJhwByFShsVyo=",
|
||||
"lastModified": 1728345020,
|
||||
"narHash": "sha256-xGbkc7U/Roe0/Cv3iKlzijIaFBNguasI31ynL2IlEoM=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "6b3261ee13a6d2b99de79a31d352f6996e35bde3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"hyprland-protocols_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"xdph",
|
||||
"nixpkgs"
|
||||
],
|
||||
"systems": [
|
||||
"hyprland",
|
||||
"xdph",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1721326555,
|
||||
"narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprland-protocols",
|
||||
"rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84",
|
||||
"rev": "a7c183800e74f337753de186522b9017a07a8cee",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -195,11 +207,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725997860,
|
||||
"narHash": "sha256-d/rZ/fHR5l1n7PeyLw0StWMNLXVU9c4HFyfskw568so=",
|
||||
"lastModified": 1728168612,
|
||||
"narHash": "sha256-AnB1KfiXINmuiW7BALYrKqcjCnsLZPifhb/7BsfPbns=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprlang",
|
||||
"rev": "dfeb5811dd6485490cce18d6cc1e38a055eea876",
|
||||
"rev": "f054f2e44d6a0b74607a6bc0f52dba337a3db38e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -244,11 +256,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727300645,
|
||||
"narHash": "sha256-OvAtVLaSRPnbXzOwlR1fVqCXR7i+ICRX3aPMCdIiv+c=",
|
||||
"lastModified": 1730968903,
|
||||
"narHash": "sha256-zFvzLXcSm0Ia4XI1SE4FQ9KE63hlGrRWhLtwMolWuR8=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprutils",
|
||||
"rev": "3f5293432b6dc6a99f26aca2eba3876d2660665c",
|
||||
"rev": "3ce0cde8709cdacbfba471f8e828433b58a561e9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -356,17 +368,57 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1729168305,
|
||||
"narHash": "sha256-jmhxZnrlOyLEMUL2+JkVfkN0XWXI5uE6EB5kVZFR0fo=",
|
||||
"lastModified": 1731603729,
|
||||
"narHash": "sha256-ChqaWsSIi+8zprudu16K3MskXr7iORzMGmYutWHCmKQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2a55bdc8cfcf41551323a4a6cef24d3f566c824d",
|
||||
"rev": "f49e820fbc9450736bb6ba982a2ff0a8d014ad1e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2a55bdc8cfcf41551323a4a6cef24d3f566c824d",
|
||||
"rev": "f49e820fbc9450736bb6ba982a2ff0a8d014ad1e",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1730741070,
|
||||
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"pre-commit-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"hyprland",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730814269,
|
||||
"narHash": "sha256-fWPHyhYE6xvMI1eGY3pwBTq85wcy1YXqdzTZF+06nOg=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "d70155fdc00df4628446352fc58adc640cd705c2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -376,7 +428,29 @@
|
|||
"hyprland": "hyprland",
|
||||
"hyprpicker-git": "hyprpicker-git",
|
||||
"nixgl": "nixgl",
|
||||
"nixpkgs": "nixpkgs"
|
||||
"nixpkgs": "nixpkgs",
|
||||
"wpaperd": "wpaperd"
|
||||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"wpaperd",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1729391507,
|
||||
"narHash": "sha256-as0I9xieJUHf7kiK2a9znDsVZQTFWhM1pLivII43Gi0=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "784981a9feeba406de38c1c9a3decf966d853cca",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
|
@ -409,9 +483,50 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"wpaperd": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay",
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731514601,
|
||||
"narHash": "sha256-NnDxLG02klftsWl8i8ZmRIUeIPCx2HtBsEFQwzbJ3ws=",
|
||||
"owner": "danyspin97",
|
||||
"repo": "wpaperd",
|
||||
"rev": "7865433233ff58f33ca4af94fd5031e26f409f52",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "danyspin97",
|
||||
"repo": "wpaperd",
|
||||
"rev": "7865433233ff58f33ca4af94fd5031e26f409f52",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"xdph": {
|
||||
"inputs": {
|
||||
"hyprland-protocols": "hyprland-protocols_2",
|
||||
"hyprland-protocols": [
|
||||
"hyprland",
|
||||
"hyprland-protocols"
|
||||
],
|
||||
"hyprlang": [
|
||||
"hyprland",
|
||||
"hyprlang"
|
||||
|
@ -434,11 +549,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1727524473,
|
||||
"narHash": "sha256-1DGktDtSWIJpnDbVoj/qpvJSH5zg6JbOfuh6xqZMap0=",
|
||||
"lastModified": 1730743262,
|
||||
"narHash": "sha256-iTLqj3lU8kFehPm5tXpctzkD274t/k1nwSSq3qCWXeg=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "xdg-desktop-portal-hyprland",
|
||||
"rev": "7e500e679ede40e79cf2d89b5f5fa3e34923bd26",
|
||||
"rev": "09b23cef06fe248e61cec8862c04b9bcb62f4b6d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
|
||||
inputs = {
|
||||
# Specify the source of Home Manager and Nixpkgs.
|
||||
nixpkgs.url = "github:nixos/nixpkgs/2a55bdc8cfcf41551323a4a6cef24d3f566c824d";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/f49e820fbc9450736bb6ba982a2ff0a8d014ad1e";
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/122f70545b29ccb922e655b08acfe05bfb44ec68";
|
||||
url = "github:nix-community/home-manager/1d0862ee2d7c6f6cd720d6f32213fa425004be10";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hyprpicker-git = {
|
||||
|
@ -13,22 +13,28 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
hyprland = {
|
||||
url = "github:hyprwm/hyprland/v0.44.1";
|
||||
url = "github:hyprwm/hyprland/v0.45.0";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nixgl = {
|
||||
url = "github:nix-community/nixGL/310f8e49a149e4c9ea52f1adf70cdc768ec53f8a";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
wpaperd = {
|
||||
url = "github:danyspin97/wpaperd/7865433233ff58f33ca4af94fd5031e26f409f52";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
#mozff.url = "github:mozilla/nixpkgs-mozilla";
|
||||
};
|
||||
|
||||
outputs = { nixpkgs, home-manager, hyprpicker-git, hyprland, nixgl, ... }@inputs:
|
||||
outputs = { nixpkgs, home-manager, hyprpicker-git, hyprland, nixgl, wpaperd, ... }@inputs:
|
||||
let
|
||||
system = "x86_64-linux";
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
overlays = [
|
||||
hyprpicker-git.overlays.default
|
||||
nixgl.overlay
|
||||
#mozff.overlays.firefox
|
||||
];
|
||||
in {
|
||||
homeConfigurations."ryan" = home-manager.lib.homeManagerConfiguration {
|
||||
|
@ -37,19 +43,20 @@
|
|||
# Specify your home configuration modules here, for example,
|
||||
# the path to your home.nix.
|
||||
modules = [
|
||||
./home.nix
|
||||
{nixpkgs.overlays = overlays;}
|
||||
./home.nix
|
||||
{
|
||||
_module.args = {
|
||||
inherit hyprland;
|
||||
inherit nixgl;
|
||||
inherit wpaperd;
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
# Optionally use extraSpecialArgs
|
||||
# to pass through arguments to home.nix
|
||||
#extraSpecialArgs = { inherit inputs; };
|
||||
# extraSpecialArgs = { inherit overlays; };
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,14 @@
|
|||
{ config, pkgs, hyprland, nixgl, ... }:
|
||||
|
||||
{ config, pkgs, hyprland, nixgl, wpaperd, ... }:
|
||||
let
|
||||
lock-false = {
|
||||
Value = false;
|
||||
Status = "locked";
|
||||
};
|
||||
lock-true = {
|
||||
Value = true;
|
||||
Status = "locked";
|
||||
};
|
||||
in
|
||||
{
|
||||
# Home Manager needs a bit of information about you and the paths it should
|
||||
# manage.
|
||||
|
@ -20,9 +29,319 @@
|
|||
nixpkgs.config.allowUnfree = true;
|
||||
#targets.genericLinux.enable = true;
|
||||
fonts.fontconfig.enable = true;
|
||||
fonts.fontconfig.defaultFonts = {
|
||||
monospace = [ "DejaVu Sans Mono" ];
|
||||
sansSerif = [ "DejaVu Sans" ];
|
||||
serif = [ "DejaVu Serif" ];
|
||||
};
|
||||
|
||||
# wayland.windowManager.hyprland.enable = true;
|
||||
|
||||
# Install firefox and add some customizations
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
policies = {
|
||||
EnableTrackingProtection = {
|
||||
Value = true;
|
||||
Locked = true;
|
||||
Cryptomining = true;
|
||||
Fingerprinting = true;
|
||||
EmailTracking = true;
|
||||
};
|
||||
UserMessaging = {
|
||||
WhatsNew = false;
|
||||
ExtensionRecommendations = false;
|
||||
FeatureRecommendations = false;
|
||||
UrlbarInterventions = false;
|
||||
SkipOnboarding = true;
|
||||
MoreFromMozilla = false;
|
||||
Labs = false;
|
||||
Locked = true;
|
||||
};
|
||||
DisableAppUpdate = true;
|
||||
DisableAccounts = true;
|
||||
DisableFirefoxAccounts = true;
|
||||
DisableFirefoxStudies = true;
|
||||
DisablePocket = true;
|
||||
DisableTelemetry = true;
|
||||
AutofillAddressEnabled = false;
|
||||
AutofillCreditCardEnabled = false;
|
||||
DisableMasterPasswordCreation = true;
|
||||
PasswordManagerEnabled = false;
|
||||
PrimaryPassword = false;
|
||||
OfferToSaveLogins = false;
|
||||
NoDefaultBookmarks = true;
|
||||
OverrideFirstRunPage = "";
|
||||
OverridePostUpdatePage = "";
|
||||
FirefoxHome = {
|
||||
Search = true;
|
||||
TopSites = true;
|
||||
SponsoredTopSites = false;
|
||||
Highlights = false;
|
||||
Pocket = false;
|
||||
SponsoredPocket = false;
|
||||
Snippets = false;
|
||||
Locked = true;
|
||||
};
|
||||
SearchSuggestEnabled = true;
|
||||
FirefoxSuggest = {
|
||||
WebSuggestions = true;
|
||||
SponsoredSuggestions = false;
|
||||
ImproveSuggest = false;
|
||||
Locked = true;
|
||||
};
|
||||
PictureInPicture = lock-true;
|
||||
HardwareAcceleration = true;
|
||||
Certificates = {
|
||||
ImportEnterpriseRoots = true;
|
||||
};
|
||||
ExtensionSettings = {
|
||||
#"*".installation_mode = "blocked";
|
||||
# uBlock Origin
|
||||
"uBlock0@raymondhill.net" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
# Bitwarden
|
||||
"{446900e4-71c2-419f-a6a7-df9c091e268b}" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
# SponsorBlock
|
||||
"sponsorBlocker@ajay.app" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/sponsorblock/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
# DeArrow
|
||||
"deArrow@ajay.app" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/dearrow/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
# Return Youtube Dislike
|
||||
"{762f9885-5a13-4abd-9c77-433dcd38b8fd}" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/return-youtube-dislikes/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
# Youtube Nonstop
|
||||
"{0d7cafdd-501c-49ca-8ebb-e3341caaa55e}" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/youtube-nonstop/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
# Sidebery
|
||||
"{3c078156-979c-498b-8990-85f7987dd929}" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/sidebery/latest.xpi";
|
||||
installation_mode = "normal_installed";
|
||||
};
|
||||
# TamperMonkey
|
||||
"firefox@tampermonkey.net" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/tampermonkey/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
# Floccus
|
||||
"floccus@handmadeideas.org" = {
|
||||
install_url = "https://addons.mozilla.org/firefox/downloads/latest/floccus/latest.xpi";
|
||||
installation_mode = "force_installed";
|
||||
};
|
||||
};
|
||||
Preferences = {
|
||||
"browser.startup.homepage" = "https://d.in.rschanz.org";
|
||||
"extensions.activeThemeID" = {
|
||||
Value = "firefox-compact-dark@mozilla.org";
|
||||
Status = "locked";
|
||||
};
|
||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = lock-true;
|
||||
"xpinstall.whitelist.required" = lock-true;
|
||||
"dom.webgpu.enabled" = lock-true;
|
||||
"media.eme.enabled" = lock-true;
|
||||
"general.autoScroll" = lock-true;
|
||||
"general.smoothScroll" = lock-true;
|
||||
"browser.crashReports.unsubmittedCheck.autoSubmit2" = lock-false;
|
||||
"browser.aboutConfig.showWarning" = lock-false;
|
||||
};
|
||||
};
|
||||
profiles.${config.home.username} = {
|
||||
name = "${config.home.username}";
|
||||
isDefault = true;
|
||||
containersForce = true;
|
||||
containers = {
|
||||
rit = {
|
||||
name = "RIT";
|
||||
color = "orange";
|
||||
icon = "dollar";
|
||||
id = 1;
|
||||
};
|
||||
ritwork = {
|
||||
name = "RIT Work";
|
||||
color = "green";
|
||||
icon = "briefcase";
|
||||
id = 2;
|
||||
};
|
||||
other = {
|
||||
name = "Other";
|
||||
color = "blue";
|
||||
icon = "fingerprint";
|
||||
id = 3;
|
||||
};
|
||||
};
|
||||
search = {
|
||||
force = true;
|
||||
default = "DuckDuckGo";
|
||||
order = ["DuckDuckGo" "Google"];
|
||||
engines = {
|
||||
"Nix Packages" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{
|
||||
name = "type";
|
||||
value = "packages";
|
||||
}
|
||||
{
|
||||
name = "channel";
|
||||
value = "unstable";
|
||||
}
|
||||
{
|
||||
name = "query";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = ["@np"];
|
||||
};
|
||||
};
|
||||
};
|
||||
userChrome = "
|
||||
#main-window #titlebar {
|
||||
overflow: hidden;
|
||||
transition: height 0.3s 0.3s !important;
|
||||
}
|
||||
/* Default state: Set initial height to enable animation */
|
||||
#main-window #titlebar { height: 3em !important; }
|
||||
#main-window[uidensity=\"touch\"] #titlebar { height: 3.35em !important; }
|
||||
#main-window[uidensity=\"compact\"] #titlebar { height: 2.7em !important; }
|
||||
/* Hidden state: Hide native tabs strip */
|
||||
#main-window[titlepreface*=\"\"] #titlebar { height: 0 !important; }
|
||||
/* Hidden state: Fix z-index of active pinned tabs */
|
||||
#main-window[titlepreface*=\"\"] #tabbrowser-tabs { z-index: 0 !important; }
|
||||
|
||||
/* Sidebery expand on mouse-over and hide otherwise */
|
||||
|
||||
/* Source file https://github.com/MrOtherGuy/firefox-csshacks/tree/master/chrome/autohide_sidebar.css made available under Mozilla Public License v. 2.0
|
||||
See the above repository for updates as well as full license text. */
|
||||
|
||||
/* Show sidebar only when the cursor is over it */
|
||||
/* The border controlling sidebar width will be removed so you'll need to modify these values to change width */
|
||||
|
||||
#sidebar-box{
|
||||
--uc-sidebar-width: 60px;
|
||||
--uc-sidebar-hover-width: 230px;
|
||||
--uc-autohide-sidebar-delay: 200ms; /* Wait 0.2s before hiding sidebar */
|
||||
--uc-autohide-transition-duration: 115ms;
|
||||
--uc-autohide-transition-type: linear;
|
||||
--browser-area-z-index-sidebar: 3;
|
||||
position: relative;
|
||||
min-width: var(--uc-sidebar-width) !important;
|
||||
width: var(--uc-sidebar-width) !important;
|
||||
max-width: var(--uc-sidebar-width) !important;
|
||||
z-index: var(--browser-area-z-index-sidebar,3);
|
||||
}
|
||||
#sidebar-box[positionend]{ direction: rtl }
|
||||
#sidebar-box[positionend] > *{ direction: ltr }
|
||||
|
||||
#sidebar-box[positionend]:-moz-locale-dir(rtl){ direction: ltr }
|
||||
#sidebar-box[positionend]:-moz-locale-dir(rtl) > *{ direction: rtl }
|
||||
|
||||
#main-window[sizemode=\"fullscreen\"] #sidebar-box{ --uc-sidebar-width: 1px; }
|
||||
|
||||
#sidebar-splitter{ display: none }
|
||||
|
||||
#sidebar-header{
|
||||
overflow: hidden;
|
||||
color: var(--chrome-color, inherit) !important;
|
||||
padding-inline: 0 !important;
|
||||
}
|
||||
|
||||
#sidebar-header::before,
|
||||
#sidebar-header::after{
|
||||
content: \"\";
|
||||
display: flex;
|
||||
padding-left: 8px;
|
||||
}
|
||||
|
||||
#sidebar-header,
|
||||
#sidebar{
|
||||
transition: min-width var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important;
|
||||
min-width: var(--uc-sidebar-width) !important;
|
||||
will-change: min-width;
|
||||
}
|
||||
#sidebar-box:hover > #sidebar-header,
|
||||
#sidebar-box:hover > #sidebar{
|
||||
min-width: var(--uc-sidebar-hover-width) !important;
|
||||
transition-delay: 0ms !important;
|
||||
}
|
||||
|
||||
.sidebar-panel{
|
||||
background-color: transparent !important;
|
||||
color: var(--newtab-text-primary-color) !important;
|
||||
}
|
||||
|
||||
.sidebar-panel #search-box{
|
||||
-moz-appearance: none !important;
|
||||
background-color: rgba(249,249,250,0.1) !important;
|
||||
color: inherit !important;
|
||||
}
|
||||
|
||||
/* Add sidebar divider and give it background */
|
||||
|
||||
#sidebar,
|
||||
#sidebar-header{
|
||||
background-color: inherit !important;
|
||||
border-inline: 1px solid rgb(80,80,80);
|
||||
border-inline-width: 0px 1px;
|
||||
}
|
||||
|
||||
#sidebar-box:not([positionend]) > :-moz-locale-dir(rtl),
|
||||
#sidebar-box[positionend] > *{
|
||||
border-inline-width: 1px 0px;
|
||||
}
|
||||
|
||||
/* Move statuspanel to the other side when sidebar is hovered so it doesn't get covered by sidebar */
|
||||
|
||||
#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel{
|
||||
inset-inline: auto 0px !important;
|
||||
}
|
||||
#sidebar-box:not([positionend]):hover ~ #appcontent #statuspanel-label{
|
||||
margin-inline: 0px !important;
|
||||
border-left-style: solid !important;
|
||||
}
|
||||
|
||||
/* Remove the tabs label and move the Sidebary icon to the center of the box */
|
||||
#sidebar-box:hover [id=\"sidebar-icon\"] {
|
||||
transform: translateX(0px) !important;
|
||||
transition-delay: 0ms !important;
|
||||
}
|
||||
|
||||
#sidebar-box [id=\"sidebar-icon\"] {
|
||||
transform: translateX(9px);
|
||||
transition: transform var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important;
|
||||
}
|
||||
|
||||
#sidebar-box [id=\"sidebar-title\"] {
|
||||
visibility: hidden !important;
|
||||
transition: visibility var(--uc-autohide-transition-duration) var(--uc-autohide-transition-type) var(--uc-autohide-sidebar-delay) !important;
|
||||
}
|
||||
|
||||
#sidebar-box:hover [id=\"sidebar-title\"] {
|
||||
visibility: visible !important;
|
||||
transition-delay: 0ms !important;
|
||||
}
|
||||
";
|
||||
};
|
||||
};
|
||||
|
||||
# The home.packages option allows you to install Nix packages into your
|
||||
# environment.
|
||||
home.packages = with pkgs; [
|
||||
|
@ -38,14 +357,12 @@
|
|||
aerc
|
||||
pkg-config
|
||||
wttrbar
|
||||
swww
|
||||
wl-clip-persist
|
||||
gifski
|
||||
waypaper
|
||||
gdu
|
||||
spotify-player
|
||||
hyprpicker
|
||||
hyprlock
|
||||
xwayland
|
||||
xdg-desktop-portal
|
||||
xdg-desktop-portal-gtk
|
||||
|
@ -53,15 +370,27 @@
|
|||
imv
|
||||
libva
|
||||
libvdpau
|
||||
wpaperd
|
||||
#wpaperd
|
||||
hypridle
|
||||
#latest.firefox-nightly-bin
|
||||
eza
|
||||
|
||||
# Wrapped programs for some env variables
|
||||
(pkgs.writeScriptBin "hyprlock" ''
|
||||
#! ${pkgs.bash}/bin/bash
|
||||
export LD_PRELOAD="/run/current-system/profile/lib/libpam.so.0:/run/current-system/profile/lib/libfontconfig.so:$LD_PRELOAD"
|
||||
exec ${pkgs.hyprlock}/bin/hyprlock "$@"
|
||||
'')
|
||||
|
||||
# Flakes specific things defined in flake.nix
|
||||
hyprland.packages.${pkgs.system}.default
|
||||
hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland
|
||||
nixgl.packages.${pkgs.system}.nixGLIntel
|
||||
wpaperd.packages.${pkgs.system}.wpaperd
|
||||
|
||||
# Fonts!
|
||||
noto-fonts
|
||||
dejavu_fonts
|
||||
liberation_ttf
|
||||
noto-fonts-cjk-sans
|
||||
noto-fonts-emoji
|
||||
|
|
4
home-config/wpaperd/config.toml
Normal file
4
home-config/wpaperd/config.toml
Normal file
|
@ -0,0 +1,4 @@
|
|||
[default]
|
||||
duration = "30m"
|
||||
path = "~/.config/hypr/Wallpapers/static/"
|
||||
transition-time = 2000
|
|
@ -4,6 +4,7 @@
|
|||
#:use-module (gnu system setuid)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages wm)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (guix build-system trivial)
|
||||
|
@ -129,6 +130,7 @@
|
|||
;"swaylock-effects"
|
||||
"fuzzel"
|
||||
"foot"
|
||||
"linux-pam" ; installed directly to get libs in profile directly
|
||||
"pinentry-qt"
|
||||
"adwaita-icon-theme"
|
||||
"hicolor-icon-theme"
|
||||
|
@ -161,7 +163,7 @@
|
|||
"wireshark"
|
||||
"webkitgtk-with-libsoup2" ; Needed for Go wails development
|
||||
"zsh"))
|
||||
(list my-ca-certs virt-manager-ovmf bluez-ryan blueman-ryan swayidle-new)
|
||||
(list my-ca-certs virt-manager-ovmf bluez-ryan blueman-ryan)
|
||||
%my-base-packages ))
|
||||
|
||||
;; Below is the list of system services. To search for available
|
||||
|
@ -188,11 +190,24 @@
|
|||
(socket "/var/run/tailscale/tailscaled.sock")))
|
||||
(service containerd-service-type)
|
||||
(service nix-service-type)
|
||||
(simple-service 'hyprlock-pam pam-root-service-type
|
||||
(list
|
||||
(pam-service
|
||||
(name "hyprlock")
|
||||
(auth
|
||||
(list
|
||||
(pam-entry (control "include")
|
||||
(module "login")))))))
|
||||
(service libvirt-service-type
|
||||
(libvirt-configuration
|
||||
(libvirt libvirt-ovmf)
|
||||
(unix-sock-group "libvirt")))
|
||||
(service virtlog-service-type)
|
||||
;(service screen-locker-service-type
|
||||
; (screen-locker-configuration
|
||||
; (name "hyprlock")
|
||||
; (program (file-append swaylock "/bin/swaylock"))
|
||||
; (using-pam? #t)))
|
||||
(simple-service 'spice-polkit polkit-service-type (list spice-gtk))
|
||||
(simple-service 'hwdb-creation etc-service-type (list `("udev-here-oneoneone" ,(plain-file "issue" "test\n"))))
|
||||
(service bluetooth-service-type
|
||||
|
|
Loading…
Reference in a new issue