Compare commits
46 Commits
2258d2abda
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0f2e039d3e | ||
|
|
32dfc8772a | ||
|
|
fb2279a575 | ||
|
|
e1494d6c26 | ||
|
|
6156ce2788 | ||
|
|
34067ead77 | ||
|
|
6561326cd4 | ||
| 5b58e02b97 | |||
|
|
384092291c | ||
|
|
f4e6ec8144 | ||
|
|
9a01abb83b | ||
|
|
e832b7fd33 | ||
|
|
b0b071749b | ||
|
|
cd42fbdd59 | ||
| 12240a9bc7 | |||
|
|
31f5958614 | ||
|
|
39bbdd94e1 | ||
|
|
a464fbb408 | ||
|
|
81d8cc061a | ||
|
|
d566527584 | ||
|
|
3551f351af | ||
|
|
64e7177cc8 | ||
|
|
508da275c4 | ||
|
|
d75f2996e3 | ||
|
|
6a3ba3cbaa | ||
|
|
71029a6259 | ||
|
|
ee8ed72924 | ||
| d407a3598e | |||
|
|
773bcf8c03 | ||
|
|
bff6ccf55c | ||
|
|
af67c443ad | ||
|
|
c3cadbcb29 | ||
|
|
973dcd58a7 | ||
|
|
7cd4ab4e3d | ||
|
|
da6e9496a3 | ||
|
|
d10f1b6191 | ||
|
|
3c99fff890 | ||
| b1a56e9614 | |||
|
|
72858a9a87 | ||
|
|
8026ce5f17 | ||
|
|
2a3a42a087 | ||
|
|
793174f97d | ||
|
|
80440f91e7 | ||
| 46f52843ca | |||
|
|
56cc9d6626 | ||
|
|
a51f8e78cf |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
git-diff.txt
|
||||
git-diff.txt
|
||||
packages/result
|
||||
83
.vscode/bookmarks.code-snippets
vendored
Normal file
83
.vscode/bookmarks.code-snippets
vendored
Normal file
@@ -0,0 +1,83 @@
|
||||
{
|
||||
// Place your zaneyos workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
|
||||
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
|
||||
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
|
||||
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
|
||||
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
|
||||
// Placeholders with the same ids are connected.
|
||||
// Example:
|
||||
// "Print to console": {
|
||||
// "scope": "javascript,typescript",
|
||||
// "prefix": "log",
|
||||
// "body": [
|
||||
// "console.log('$1');",
|
||||
// "$2"
|
||||
// ],
|
||||
// "description": "Log output to console"
|
||||
// }
|
||||
"bm-link": {
|
||||
"scope": "nix",
|
||||
"prefix": "bm-link",
|
||||
"body": [
|
||||
"{",
|
||||
" name = \"\";",
|
||||
" tags = [];",
|
||||
" keyword = \"@\";",
|
||||
" url = \"\";",
|
||||
"}"
|
||||
],
|
||||
"description": "Home-manager Bookmark link"
|
||||
},
|
||||
"bm-folder": {
|
||||
"scope": "nix",
|
||||
"prefix": "bm-folder",
|
||||
"body": [
|
||||
"{",
|
||||
" name = \"\";",
|
||||
" toolbar = true;",
|
||||
" bookmarks = [];",
|
||||
"}"
|
||||
],
|
||||
"description": "Home-manager Bookmark folder"
|
||||
},
|
||||
"search-engine": {
|
||||
"scope": "nix",
|
||||
"prefix": "search-engine",
|
||||
"description": "Home-manager Search engine",
|
||||
"body": [
|
||||
"\"\" = {",
|
||||
" definedAliases = [];",
|
||||
" icon = \"\";",
|
||||
" urls = [",
|
||||
" {",
|
||||
" template = \"\";",
|
||||
" params = [",
|
||||
" {",
|
||||
" name = \"\";",
|
||||
" value = \"{searchTerms}\";",
|
||||
" }",
|
||||
" ];",
|
||||
" }",
|
||||
" ];",
|
||||
"};"
|
||||
]
|
||||
},
|
||||
"nix-config": {
|
||||
"scope": "nix",
|
||||
"prefix": "nix-config",
|
||||
"description": "Config do pliku .nix",
|
||||
"body": [
|
||||
"{pkgs, ...}: {}"
|
||||
]
|
||||
},
|
||||
"nix-config=nixpkgs": {
|
||||
"scope": "nix",
|
||||
"prefix": "nix-config-nixpkgs",
|
||||
"description": "Config do pliku .nix z nixpkgs",
|
||||
"body": [
|
||||
"{pkgs, ... }: {",
|
||||
" environment.systemPackages = with pkgs; [];",
|
||||
"}",
|
||||
]
|
||||
}
|
||||
}
|
||||
7
.vscode/settings.json
vendored
7
.vscode/settings.json
vendored
@@ -18,5 +18,10 @@
|
||||
},
|
||||
"editor.formatOnPaste": true,
|
||||
"editor.formatOnSave": true,
|
||||
"editor.defaultFormatter": "jnoortheen.nix-ide"
|
||||
"[nix]": {
|
||||
"editor.defaultFormatter": "jnoortheen.nix-ide",
|
||||
},
|
||||
"[json]": {
|
||||
"editor.defaultFormatter": "vscode.json-language-features"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
username,
|
||||
host,
|
||||
config,
|
||||
@@ -18,6 +19,7 @@ in
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
systemd.enable = true;
|
||||
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||
extraConfig = let
|
||||
modifier = "SUPER";
|
||||
in
|
||||
@@ -67,13 +69,14 @@ in
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
accel_profile = flat
|
||||
}
|
||||
windowrule = noborder,^(wofi)$
|
||||
windowrule = center,^(wofi)$
|
||||
windowrule = center,^(steam)$
|
||||
windowrule = float, nm-connection-editor|blueman-manager
|
||||
windowrule = float, swayimg|vlc|Viewnior|pavucontrol
|
||||
windowrule = float, nwg-look|qt5ct|mpv
|
||||
windowrule = float, zoom
|
||||
windowrulev2 = noborder, class:^(wofi)$
|
||||
windowrulev2 = center, class:^(wofi)$
|
||||
windowrulev2 = center, class:^(steam)$
|
||||
windowrulev2 = float, class:^(nm-connection-editor|blueman-manager)$
|
||||
windowrulev2 = float, class:^(swayimg|vlc|Viewnior|pavucontrol)$
|
||||
windowrulev2 = float, class:^(nwg-look|qt5ct|mpv)$
|
||||
windowrulev2 = float, class:^(zoom)$
|
||||
windowrulev2 = float, class:^(galculator)$
|
||||
windowrulev2 = stayfocused, title:^()$,class:^(steam)$
|
||||
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
|
||||
windowrulev2 = opacity 1 0.7, class:^(librewolf)$
|
||||
@@ -85,6 +88,15 @@ in
|
||||
windowrulev2 = opacity 0.9 0.7, class:^(chrome-ppepjbbmpdbanediafpgploonglppmlk-Default)$
|
||||
windowrulev2 = opacity 0.9 0.7, class:^(tutanota-desktop)$
|
||||
windowrulev2 = opacity 0.9 0.7, class:^(discord)$
|
||||
windowrulev2 = opacity 0.9 0.7, class:^(ONLYOFFICE)$
|
||||
windowrulev2 = opacity 0.9 0.7, class:^(net.lutris.Lutris)$
|
||||
windowrulev2 = opacity 0.9 0.7, class:^(chrome-nibpilkookahlimkjopijpmhgllidlok-Default)$
|
||||
windowrulev2 = opacity 0.9 0.7, class:^(Anki)$
|
||||
windowrulev2 = opacity 0.9 0.7, class:^(galculator)$
|
||||
windowrulev2 = opacity 0.9 0.7, class:^(chrome-mcpclnpikkcgnjfknenfalelmlaccfcj-Default)$
|
||||
windowrulev2 = opacity 0.9 0.7, class:^(chrome-dbipeoijaciefjfbfdkpfncmlbfinpge-Default)$
|
||||
windowrulev2 = opacity 0.9 0.7, class:^(Bitwarden)$
|
||||
windowrulev2 = opacity 0.9 0.7, class:^(chrome-akpamiohjfcnimfljfndmaldlcfphjmp-Default)$
|
||||
gestures {
|
||||
workspace_swipe = true
|
||||
workspace_swipe_fingers = 3
|
||||
@@ -132,31 +144,18 @@ in
|
||||
pseudotile = true
|
||||
preserve_split = true
|
||||
}
|
||||
bind = ${modifier},Return,exec,${terminal}
|
||||
bind = ${modifier}SHIFT,Return,exec,rofi-launcher
|
||||
bind = ${modifier}SHIFT,W,exec,web-search
|
||||
bind = ${modifier},V,exec,codium
|
||||
bind = ${modifier}ALT,W,exec,wallsetter
|
||||
bind = ${modifier}SHIFT,N,exec,swaync-client -rs
|
||||
bind = ${modifier},W,exec,${browser}
|
||||
bind = ${modifier},E,exec,emopicker9000
|
||||
bind = ${modifier},S,exec,screenshootin
|
||||
bind = ${modifier}SHIFT,S,exec,slack
|
||||
bind = ${modifier},D,exec,discord
|
||||
bind = ${modifier},O,exec,obs
|
||||
bind = ${modifier},C,exec,hyprpicker -a
|
||||
bind = ${modifier},G,exec,gimp
|
||||
bind = ${modifier}SHIFT,G,exec,godot4
|
||||
bind = ${modifier},T,exec,thunar
|
||||
bind = ${modifier}SHIFT,T,exec,tutanota-desktop
|
||||
bind = ${modifier},M,exec,plexamp
|
||||
bind = ${modifier}SHIFT,M,exec,chrome-bbdeiblfgdokhlblpgeaokenkfknecgl-Default
|
||||
bind = ${modifier},Q,killactive,
|
||||
bind = ${modifier},Escape,exit,
|
||||
bind = ${modifier},P,pseudo,
|
||||
bind = ${modifier}SHIFT,I,togglesplit,
|
||||
bind = ${modifier},F,fullscreen,
|
||||
bind = ${modifier}SHIFT,F,togglefloating,
|
||||
bind = ${modifier}SHIFT,C,exit,
|
||||
bind = ALT,Tab,cyclenext
|
||||
bind = ALT,Tab,bringactivetotop
|
||||
bind = ${modifier},left,movefocus,l
|
||||
bind = ${modifier},right,movefocus,r
|
||||
bind = ${modifier},up,movefocus,u
|
||||
bind = ${modifier},down,movefocus,d
|
||||
bind = ${modifier}SHIFT,left,movewindow,l
|
||||
bind = ${modifier}SHIFT,right,movewindow,r
|
||||
bind = ${modifier}SHIFT,up,movewindow,u
|
||||
@@ -165,14 +164,6 @@ in
|
||||
bind = ${modifier}SHIFT,l,movewindow,r
|
||||
bind = ${modifier}SHIFT,k,movewindow,u
|
||||
bind = ${modifier}SHIFT,j,movewindow,d
|
||||
bind = ${modifier},left,movefocus,l
|
||||
bind = ${modifier},right,movefocus,r
|
||||
bind = ${modifier},up,movefocus,u
|
||||
bind = ${modifier},down,movefocus,d
|
||||
bind = ${modifier},h,movefocus,l
|
||||
bind = ${modifier},l,movefocus,r
|
||||
bind = ${modifier},k,movefocus,u
|
||||
bind = ${modifier},j,movefocus,d
|
||||
bind = ${modifier},1,workspace,1
|
||||
bind = ${modifier},2,workspace,2
|
||||
bind = ${modifier},3,workspace,3
|
||||
@@ -183,8 +174,6 @@ in
|
||||
bind = ${modifier},8,workspace,8
|
||||
bind = ${modifier},9,workspace,9
|
||||
bind = ${modifier},0,workspace,10
|
||||
bind = ${modifier}SHIFT,SPACE,movetoworkspace,special
|
||||
bind = ${modifier},SPACE,togglespecialworkspace
|
||||
bind = ${modifier}SHIFT,1,movetoworkspace,1
|
||||
bind = ${modifier}SHIFT,2,movetoworkspace,2
|
||||
bind = ${modifier}SHIFT,3,movetoworkspace,3
|
||||
@@ -201,8 +190,42 @@ in
|
||||
bind = ${modifier},mouse_up,workspace, e-1
|
||||
bindm = ${modifier},mouse:272,movewindow
|
||||
bindm = ${modifier},mouse:273,resizewindow
|
||||
bind = ALT,Tab,cyclenext
|
||||
bind = ALT,Tab,bringactivetotop
|
||||
bind = ${modifier}SHIFT,SPACE,movetoworkspace,special
|
||||
bind = ${modifier},SPACE,togglespecialworkspace
|
||||
bind = ${modifier},Return,exec,${terminal}
|
||||
bind = ${modifier}SHIFT,Return,exec,rofi-launcher
|
||||
bind = ${modifier}ALT,W,exec,wallsetter
|
||||
bind = ${modifier}SHIFT,S,exec,screenshootin
|
||||
bind = ${modifier},E,exec,emopicker9000
|
||||
bind = ${modifier}SHIFT,P,exec,hyprpicker -a
|
||||
bind = ${modifier}SHIFT,W,exec,web-search
|
||||
bind = ${modifier}SHIFT,K,exec,galculator
|
||||
bind = ${modifier},B,exec,NeoHtop
|
||||
bind = ${modifier}SHIFT,B,exec,blueman-manager
|
||||
bind = ${modifier},T,exec,thunar
|
||||
bind = ${modifier},W,exec,${browser}
|
||||
bind = ${modifier},S,exec,slack
|
||||
bind = ${modifier},D,exec,discord
|
||||
bind = ${modifier},C,exec,chromium
|
||||
bind = ${modifier}SHIFT,C,exec,dex-claude
|
||||
bind = ${modifier}SHIFT,G,exec,dex-chatgpt
|
||||
bind = ${modifier}SHIFT,M,exec,dex-messenger
|
||||
bind = ${modifier}SHIFT,T,exec,tutanota-desktop
|
||||
bind = ${modifier},I,exec,dex-instagram
|
||||
bind = ${modifier},R,exec,dex-portainer
|
||||
bind = ${modifier},U,exec,dex-mastodon
|
||||
bind = ${modifier},Y,exec,freetube
|
||||
bind = ${modifier}SHIFT,Y,exec,dex-dailydev
|
||||
bind = ${modifier},V,exec,codium
|
||||
bind = ${modifier},O,exec,onlyoffice-desktopeditors
|
||||
bind = ${modifier}SHIFT,O,exec,obs
|
||||
bind = ${modifier},G,exec,gimp3
|
||||
bind = ${modifier},N,exec,dex-nextcloud
|
||||
bind = ${modifier}SHIFT,N,exec,nextcloud
|
||||
bind = ${modifier},L,exec,lutris
|
||||
bind = ${modifier},A,exec,anki
|
||||
bind = ${modifier},M,exec,plexamp
|
||||
bind = ${modifier},Z,exec,dex-beszel
|
||||
bind = ,XF86AudioRaiseVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
||||
bind = ,XF86AudioLowerVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
||||
binde = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
|
||||
292
flake.lock
generated
292
flake.lock
generated
@@ -7,11 +7,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739098586,
|
||||
"narHash": "sha256-08FW+tVGWQKdiPZqXk6FO1JNB/Zybi7IYSWSGpp8V0Y=",
|
||||
"lastModified": 1752998173,
|
||||
"narHash": "sha256-ZlYpBp2WOe03UrpjJGz5KTOL/pp7A452hJO/Vc8C4/0=",
|
||||
"owner": "AdnanHodzic",
|
||||
"repo": "auto-cpufreq",
|
||||
"rev": "e6bbd2c8335a33f25a3fcb3bd2376e790f460ba2",
|
||||
"rev": "562278377ffa96f3c1af49c7b499df028ce8d8bd",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -25,11 +25,11 @@
|
||||
"fromYaml": "fromYaml"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732200724,
|
||||
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
|
||||
"lastModified": 1746562888,
|
||||
"narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
|
||||
"owner": "SenchoPens",
|
||||
"repo": "base16.nix",
|
||||
"rev": "153d52373b0fb2d343592871009a286ec8837aec",
|
||||
"rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -57,11 +57,11 @@
|
||||
"base16-helix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1736852337,
|
||||
"narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=",
|
||||
"lastModified": 1752979451,
|
||||
"narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-helix",
|
||||
"rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5",
|
||||
"rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -87,56 +87,62 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1736899990,
|
||||
"narHash": "sha256-S79Hqn2EtSxU4kp99t8tRschSifWD4p/51++0xNWUxw=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "91ca1f82d717b02ceb03a3f423cbe8082ebbb26d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1733328505,
|
||||
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"firefox-addons": {
|
||||
"inputs": {
|
||||
"systems": [
|
||||
"stylix",
|
||||
"systems"
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1754512310,
|
||||
"narHash": "sha256-gXE5lTYMOhpDJo+siLXW/3BzySPmLMD12GVB1QFVbyw=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "2008f9aa7a5ccde48bfc1de5a919be5898da09c2",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"type": "gitlab"
|
||||
}
|
||||
},
|
||||
"firefox-gnome-theme": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1748383148,
|
||||
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"owner": "rafaelmardojai",
|
||||
"repo": "firefox-gnome-theme",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751413152,
|
||||
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -156,67 +162,19 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"stylix",
|
||||
"flake-compat"
|
||||
],
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1735882644,
|
||||
"narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"git-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"
|
||||
}
|
||||
},
|
||||
"gnome-shell": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1732369855,
|
||||
"narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
|
||||
"lastModified": 1748186689,
|
||||
"narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=",
|
||||
"owner": "GNOME",
|
||||
"repo": "gnome-shell",
|
||||
"rev": "dadd58f630eeea41d645ee225a63f719390829dc",
|
||||
"rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "GNOME",
|
||||
"ref": "47.2",
|
||||
"ref": "48.2",
|
||||
"repo": "gnome-shell",
|
||||
"type": "github"
|
||||
}
|
||||
@@ -228,11 +186,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739287084,
|
||||
"narHash": "sha256-CtRNJsqsXIArJV+AKWZVBMO8PD1FQB69br+WMtTJEgI=",
|
||||
"lastModified": 1754924470,
|
||||
"narHash": "sha256-asI/or9AcUMydwzodCgpHGytnMSNUlciw3uaycpXm4E=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "8f351726c5841d86854e7fa6003ea472352f5208",
|
||||
"rev": "67393957c27b4e4c6c48a60108a201413ced7800",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -242,13 +200,29 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"libnbtplusplus": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1699286814,
|
||||
"narHash": "sha256-yy0q+bky80LtK1GWzz7qpM+aAGrOqLuewbid8WT1ilk=",
|
||||
"owner": "PrismLauncher",
|
||||
"repo": "libnbtplusplus",
|
||||
"rev": "23b955121b8217c1c348a9ed2483167a6f3ff4ad",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "PrismLauncher",
|
||||
"repo": "libnbtplusplus",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1739020877,
|
||||
"narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=",
|
||||
"lastModified": 1754725699,
|
||||
"narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a79cfe0ebd24952b580b1cf08cd906354996d547",
|
||||
"rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -258,11 +232,59 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": [
|
||||
"stylix",
|
||||
"flake-parts"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"stylix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751906969,
|
||||
"narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"prismlauncher-cracked": {
|
||||
"inputs": {
|
||||
"libnbtplusplus": "libnbtplusplus",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747683146,
|
||||
"narHash": "sha256-zZS//xyNYQHvD4fUMoWx86uVUwPk+p5FjZLTTu0pelQ=",
|
||||
"owner": "Diegiwg",
|
||||
"repo": "PrismLauncher-Cracked",
|
||||
"rev": "0612187254ef41a1087f3107e927e0dd59c9b29d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Diegiwg",
|
||||
"repo": "PrismLauncher-Cracked",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"auto-cpufreq": "auto-cpufreq",
|
||||
"firefox-addons": "firefox-addons",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"prismlauncher-cracked": "prismlauncher-cracked",
|
||||
"stylix": "stylix"
|
||||
}
|
||||
},
|
||||
@@ -273,28 +295,25 @@
|
||||
"base16-helix": "base16-helix",
|
||||
"base16-vim": "base16-vim",
|
||||
"firefox-gnome-theme": "firefox-gnome-theme",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils",
|
||||
"git-hooks": "git-hooks",
|
||||
"flake-parts": "flake-parts",
|
||||
"gnome-shell": "gnome-shell",
|
||||
"home-manager": [
|
||||
"home-manager"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nur": "nur",
|
||||
"systems": "systems",
|
||||
"tinted-foot": "tinted-foot",
|
||||
"tinted-kitty": "tinted-kitty",
|
||||
"tinted-schemes": "tinted-schemes",
|
||||
"tinted-tmux": "tinted-tmux",
|
||||
"tinted-zed": "tinted-zed"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739215427,
|
||||
"narHash": "sha256-1yIsiPwwxXal7+wkWogjPhsM5BjRlK61lAHQtlX8s04=",
|
||||
"lastModified": 1754851076,
|
||||
"narHash": "sha256-k3+/24lN6E9BFRhryHocm7314t0Wtku0hgIdEWi15XI=",
|
||||
"owner": "danth",
|
||||
"repo": "stylix",
|
||||
"rev": "4af2686c1c62176d0ce28c4d55e813ae5ed52b6f",
|
||||
"rev": "afcfed6fd2a51615cd63aa7fa7608d670e7b61e5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -338,28 +357,43 @@
|
||||
"tinted-kitty": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1716423189,
|
||||
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
|
||||
"lastModified": 1735730497,
|
||||
"narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
||||
"rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-kitty",
|
||||
"rev": "eb39e141db14baef052893285df9f266df041ff8",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-schemes": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1750770351,
|
||||
"narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "tinted-theming",
|
||||
"repo": "schemes",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"tinted-tmux": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1735737224,
|
||||
"narHash": "sha256-FO2hRBkZsjlIRqzNHCPc/52yxg11kHGA8MEtSun9RwE=",
|
||||
"lastModified": 1751159871,
|
||||
"narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "tinted-tmux",
|
||||
"rev": "aead506a9930c717ebf81cc83a2126e9ca08fa64",
|
||||
"rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -371,11 +405,11 @@
|
||||
"tinted-zed": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1725758778,
|
||||
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
|
||||
"lastModified": 1751158968,
|
||||
"narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
|
||||
"owner": "tinted-theming",
|
||||
"repo": "base16-zed",
|
||||
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
|
||||
"rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
17
flake.nix
17
flake.nix
@@ -11,13 +11,21 @@
|
||||
url = "github:danth/stylix";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
home-manager.follows = "home-manager";
|
||||
# home-manager.follows = "home-manager";
|
||||
};
|
||||
};
|
||||
auto-cpufreq = {
|
||||
url = "github:AdnanHodzic/auto-cpufreq";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
firefox-addons = {
|
||||
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
prismlauncher-cracked = {
|
||||
url = "github:Diegiwg/PrismLauncher-Cracked";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
@@ -25,7 +33,7 @@
|
||||
home-manager,
|
||||
...
|
||||
} @ inputs: let
|
||||
system = "aarch64-linux";
|
||||
system = "x86_64-linux";
|
||||
host = "garand-laptop";
|
||||
username = "garand_plg";
|
||||
in {
|
||||
@@ -44,11 +52,12 @@
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit username;
|
||||
inherit system;
|
||||
inherit inputs;
|
||||
inherit username;
|
||||
inherit host;
|
||||
};
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useGlobalPkgs = false;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.backupFileExtension = "backup";
|
||||
home-manager.users.${username} = import ./hosts/${host}/home.nix;
|
||||
|
||||
@@ -1,17 +1,29 @@
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
host,
|
||||
username,
|
||||
options,
|
||||
...
|
||||
}: let
|
||||
inherit (import ./variables.nix) keyboardLayout;
|
||||
in {
|
||||
{...}: {
|
||||
imports = [
|
||||
./hardware.nix
|
||||
./users.nix
|
||||
|
||||
./config/boot.nix
|
||||
./config/drivers.nix
|
||||
./config/hardware.nix
|
||||
./config/localization.nix
|
||||
./config/networking.nix
|
||||
|
||||
./config/nixpkgs.nix
|
||||
./config/nixpkgs/clients.nix
|
||||
./config/nixpkgs/codium.nix
|
||||
./config/nixpkgs/fundamentals.nix
|
||||
./config/nixpkgs/gaming.nix
|
||||
./config/nixpkgs/multimedia.nix
|
||||
./config/nixpkgs/tools.nix
|
||||
./config/nixpkgs/tty.nix
|
||||
|
||||
./config/programs.nix
|
||||
./config/security.nix
|
||||
./config/services.nix
|
||||
./config/stylix.nix
|
||||
./config/virtualization.nix
|
||||
|
||||
../../modules/amd-drivers.nix
|
||||
../../modules/nvidia-drivers.nix
|
||||
../../modules/nvidia-prime-drivers.nix
|
||||
@@ -20,564 +32,6 @@ in {
|
||||
../../modules/local-hardware-clock.nix
|
||||
];
|
||||
|
||||
boot = {
|
||||
# Kernel
|
||||
kernelPackages = pkgs.linuxPackages_zen;
|
||||
# This is for OBS Virtual Cam Support
|
||||
kernelModules = ["v4l2loopback"];
|
||||
extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
|
||||
# Needed For Some Steam Games
|
||||
kernel.sysctl = {
|
||||
"vm.max_map_count" = 2147483642;
|
||||
};
|
||||
# Bootloader.
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
# Make /tmp a tmpfs
|
||||
tmp = {
|
||||
useTmpfs = false;
|
||||
tmpfsSize = "30%";
|
||||
};
|
||||
# Appimage Support
|
||||
binfmt.registrations.appimage = {
|
||||
wrapInterpreterInShell = false;
|
||||
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
||||
recognitionType = "magic";
|
||||
offset = 0;
|
||||
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
|
||||
magicOrExtension = ''\x7fELF....AI\x02'';
|
||||
};
|
||||
plymouth.enable = true;
|
||||
};
|
||||
|
||||
# Styling Options
|
||||
stylix = {
|
||||
enable = true;
|
||||
image = ../../config/wallpapers/attack-on-titan-mikasa-ackerman.jpg;
|
||||
# base16Scheme = {
|
||||
# base00 = "232136";
|
||||
# base01 = "2a273f";
|
||||
# base02 = "393552";
|
||||
# base03 = "6e6a86";
|
||||
# base04 = "908caa";
|
||||
# base05 = "e0def4";
|
||||
# base06 = "e0def4";
|
||||
# base07 = "56526e";
|
||||
# base08 = "eb6f92";
|
||||
# base09 = "f6c177";
|
||||
# base0A = "ea9a97";
|
||||
# base0B = "3e8fb0";
|
||||
# base0C = "9ccfd8";
|
||||
# base0D = "c4a7e7";
|
||||
# base0E = "f6c177";
|
||||
# base0F = "56526e";
|
||||
# };
|
||||
polarity = "dark";
|
||||
opacity.terminal = 0.8;
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 24;
|
||||
};
|
||||
fonts = {
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.fira-mono;
|
||||
name = "FiraCode Nerd Fonts Mono";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerd-fonts.fira-code;
|
||||
name = "FiraCode Nerd Fonts";
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerd-fonts.fira-code;
|
||||
name = "FiraCode Nerd Fonts";
|
||||
};
|
||||
sizes = {
|
||||
applications = 12;
|
||||
terminal = 15;
|
||||
desktop = 11;
|
||||
popups = 12;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Extra Module Options
|
||||
drivers = {
|
||||
amdgpu.enable = true;
|
||||
nvidia.enable = false;
|
||||
nvidia-prime = {
|
||||
enable = false;
|
||||
intelBusID = "";
|
||||
nvidiaBusID = "";
|
||||
};
|
||||
intel.enable = false;
|
||||
};
|
||||
vm.guest-services.enable = false;
|
||||
local.hardware-clock.enable = false;
|
||||
|
||||
# Enable networking
|
||||
networking = {
|
||||
nameservers = ["176.9.1.117" "213.196.191.96" "2a01:4f8:151:34aa::198"];
|
||||
networkmanager.enable = true;
|
||||
hostName = host;
|
||||
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
|
||||
};
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Warsaw";
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "pl_PL.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "pl_PL.UTF-8";
|
||||
LC_IDENTIFICATION = "pl_PL.UTF-8";
|
||||
LC_MEASUREMENT = "pl_PL.UTF-8";
|
||||
LC_MONETARY = "pl_PL.UTF-8";
|
||||
LC_NAME = "pl_PL.UTF-8";
|
||||
LC_NUMERIC = "pl_PL.UTF-8";
|
||||
LC_PAPER = "pl_PL.UTF-8";
|
||||
LC_TELEPHONE = "pl_PL.UTF-8";
|
||||
LC_TIME = "pl_PL.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
firefox.enable = false;
|
||||
starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
buf = {
|
||||
symbol = " ";
|
||||
};
|
||||
c = {
|
||||
symbol = " ";
|
||||
};
|
||||
directory = {
|
||||
read_only = " ";
|
||||
};
|
||||
docker_context = {
|
||||
symbol = " ";
|
||||
};
|
||||
fossil_branch = {
|
||||
symbol = " ";
|
||||
};
|
||||
git_branch = {
|
||||
symbol = " ";
|
||||
};
|
||||
golang = {
|
||||
symbol = " ";
|
||||
};
|
||||
hg_branch = {
|
||||
symbol = " ";
|
||||
};
|
||||
hostname = {
|
||||
ssh_symbol = " ";
|
||||
};
|
||||
lua = {
|
||||
symbol = " ";
|
||||
};
|
||||
memory_usage = {
|
||||
symbol = " ";
|
||||
};
|
||||
meson = {
|
||||
symbol = " ";
|
||||
};
|
||||
nim = {
|
||||
symbol = " ";
|
||||
};
|
||||
nix_shell = {
|
||||
symbol = " ";
|
||||
};
|
||||
nodejs = {
|
||||
symbol = " ";
|
||||
};
|
||||
ocaml = {
|
||||
symbol = " ";
|
||||
};
|
||||
package = {
|
||||
symbol = " ";
|
||||
};
|
||||
python = {
|
||||
symbol = " ";
|
||||
};
|
||||
rust = {
|
||||
symbol = " ";
|
||||
};
|
||||
swift = {
|
||||
symbol = " ";
|
||||
};
|
||||
zig = {
|
||||
symbol = " ";
|
||||
};
|
||||
};
|
||||
};
|
||||
dconf.enable = true;
|
||||
seahorse.enable = true;
|
||||
fuse.userAllowOther = true;
|
||||
mtr.enable = true;
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
virt-manager.enable = true;
|
||||
steam = {
|
||||
enable = true;
|
||||
gamescopeSession.enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
};
|
||||
auto-cpufreq = {
|
||||
enable = true;
|
||||
settings = {
|
||||
charger = {
|
||||
governor = "performance";
|
||||
turbo = "auto";
|
||||
};
|
||||
|
||||
battery = {
|
||||
governor = "powersave";
|
||||
turbo = "auto";
|
||||
};
|
||||
};
|
||||
};
|
||||
thunar = {
|
||||
enable = true;
|
||||
plugins = with pkgs.xfce; [
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
pulseaudio = true;
|
||||
};
|
||||
|
||||
users = {
|
||||
mutableUsers = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
killall
|
||||
eza
|
||||
git
|
||||
cmatrix
|
||||
lolcat
|
||||
libvirt
|
||||
lxqt.lxqt-policykit
|
||||
lm_sensors
|
||||
unzip
|
||||
unrar
|
||||
libnotify
|
||||
v4l-utils
|
||||
ydotool
|
||||
duf
|
||||
ncdu
|
||||
wl-clipboard
|
||||
pciutils
|
||||
ffmpeg
|
||||
socat
|
||||
cowsay
|
||||
ripgrep
|
||||
lshw
|
||||
bat
|
||||
pkg-config
|
||||
meson
|
||||
hyprpicker
|
||||
ninja
|
||||
brightnessctl
|
||||
virt-viewer
|
||||
swappy
|
||||
appimage-run
|
||||
networkmanagerapplet
|
||||
yad
|
||||
inxi
|
||||
playerctl
|
||||
nh
|
||||
nixfmt-rfc-style
|
||||
discord
|
||||
libvirt
|
||||
swww
|
||||
grim
|
||||
slurp
|
||||
file-roller
|
||||
swaynotificationcenter
|
||||
imv
|
||||
mpv
|
||||
gimp
|
||||
pavucontrol
|
||||
tree
|
||||
greetd.tuigreet
|
||||
librewolf
|
||||
protonup
|
||||
plex-media-player
|
||||
plexamp
|
||||
bitwarden-desktop
|
||||
vlc
|
||||
nixd
|
||||
ungoogled-chromium
|
||||
slack
|
||||
alejandra
|
||||
tutanota-desktop
|
||||
ookla-speedtest
|
||||
anydesk
|
||||
bun
|
||||
docker
|
||||
docker-compose
|
||||
docker-slim
|
||||
sl
|
||||
nodejs
|
||||
kdePackages.kdenlive
|
||||
obs-studio
|
||||
thefuck
|
||||
cifs-utils
|
||||
libreoffice
|
||||
bastet
|
||||
nsnake
|
||||
exiftool
|
||||
(vscode-with-extensions.override {
|
||||
vscode = vscodium;
|
||||
vscodeExtensions = with vscode-extensions;
|
||||
[]
|
||||
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
# {
|
||||
# name = "[nazwa rozszerzenia]";
|
||||
# publisher = "[autor]";
|
||||
# version = "[wersja]";
|
||||
# hash = "[hash. przebuduj system bez odkomentowania tej opcji, a poda ci poprawny hash]";
|
||||
# }
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
noto-fonts-emoji
|
||||
noto-fonts-cjk-sans
|
||||
font-awesome
|
||||
# Commenting Symbola out to fix install this will need to be fixed or an alternative found.
|
||||
# symbola
|
||||
material-icons
|
||||
];
|
||||
};
|
||||
|
||||
environment.variables = {
|
||||
ZANEYOS_VERSION = "2.2";
|
||||
ZANEYOS = "true";
|
||||
};
|
||||
|
||||
# Extra Portal Configuration
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
wlr.enable = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal
|
||||
];
|
||||
configPackages = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
pkgs.xdg-desktop-portal
|
||||
];
|
||||
};
|
||||
|
||||
# Services to start
|
||||
services = {
|
||||
xserver = {
|
||||
enable = false;
|
||||
xkb = {
|
||||
layout = "${keyboardLayout}";
|
||||
variant = "";
|
||||
};
|
||||
};
|
||||
resolved = {
|
||||
enable = true;
|
||||
dnssec = "true";
|
||||
domains = ["~."]; # "use as default interface for all requests"
|
||||
# (see man resolved.conf)
|
||||
# let Avahi handle mDNS publication
|
||||
extraConfig = ''
|
||||
DNSOverTLS=opportunistic
|
||||
MulticastDNS=resolve
|
||||
'';
|
||||
llmnr = "true";
|
||||
};
|
||||
greetd = {
|
||||
enable = true;
|
||||
vt = 3;
|
||||
settings = {
|
||||
default_session = {
|
||||
# Wayland Desktop Manager is installed only for user ryan via home-manager!
|
||||
user = username;
|
||||
# .wayland-session is a script generated by home-manager, which links to the current wayland compositor(sway/hyprland or others).
|
||||
# with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config here.
|
||||
# command = "$HOME/.wayland-session"; # start a wayland session directly without a login manager
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
|
||||
};
|
||||
};
|
||||
};
|
||||
smartd = {
|
||||
enable = false;
|
||||
autodetect = true;
|
||||
};
|
||||
libinput.enable = true;
|
||||
fstrim.enable = true;
|
||||
gvfs.enable = true;
|
||||
openssh.enable = true;
|
||||
flatpak.enable = false;
|
||||
printing = {
|
||||
enable = true;
|
||||
drivers = [
|
||||
# pkgs.hplipWithPlugin
|
||||
];
|
||||
};
|
||||
# auto-cpufreq.enable = true;
|
||||
gnome.gnome-keyring.enable = true;
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
ipp-usb.enable = true;
|
||||
syncthing = {
|
||||
enable = false;
|
||||
user = "${username}";
|
||||
dataDir = "/home/${username}";
|
||||
configDir = "/home/${username}/.config/syncthing";
|
||||
};
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
pulseaudio = {
|
||||
enable = false;
|
||||
extraConfig = "load-module module-combine-sink";
|
||||
};
|
||||
rpcbind.enable = false;
|
||||
nfs.server.enable = false;
|
||||
};
|
||||
systemd.services.flatpak-repo = {
|
||||
path = [pkgs.flatpak];
|
||||
script = ''
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
'';
|
||||
};
|
||||
|
||||
hardware = {
|
||||
sane = {
|
||||
enable = true;
|
||||
extraBackends = [pkgs.sane-airscan];
|
||||
disabledDefaultBackends = ["escl"];
|
||||
};
|
||||
logitech = {
|
||||
wireless = {
|
||||
enable = false;
|
||||
enableGraphical = false;
|
||||
};
|
||||
};
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
};
|
||||
services.blueman.enable = true;
|
||||
|
||||
# Security / Polkit
|
||||
security = {
|
||||
rtkit.enable = true;
|
||||
polkit = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (
|
||||
subject.isInGroup("users")
|
||||
&& (
|
||||
action.id == "org.freedesktop.login1.reboot" ||
|
||||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
|
||||
action.id == "org.freedesktop.login1.power-off" ||
|
||||
action.id == "org.freedesktop.login1.power-off-multiple-sessions"
|
||||
)
|
||||
)
|
||||
{
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
})
|
||||
'';
|
||||
};
|
||||
pam.services.swaylock = {
|
||||
text = ''
|
||||
auth include login
|
||||
'';
|
||||
};
|
||||
sudo = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
Defaults pwfeedback
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
# Optimization settings and garbage collection automation
|
||||
nix = {
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
substituters = ["https://hyprland.cachix.org"];
|
||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||
};
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||
};
|
||||
|
||||
# Virtualization / Containers
|
||||
virtualisation = {
|
||||
libvirtd.enable = true;
|
||||
docker = {
|
||||
enable = true;
|
||||
package = pkgs.docker;
|
||||
};
|
||||
# podman = {
|
||||
# enable = true;
|
||||
# dockerCompat = true;
|
||||
# defaultNetwork.settings.dns_enabled = true;
|
||||
# };
|
||||
};
|
||||
|
||||
# services.openvpn.servers = {
|
||||
# RO-P2P = {
|
||||
# config = ''
|
||||
# config /home/garand_plg/Documents/RO-ovpn-tcp.ovpn
|
||||
# '';
|
||||
# updateResolvConf = true;
|
||||
# };
|
||||
# };
|
||||
|
||||
console.keyMap = "${keyboardLayout}";
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
|
||||
38
hosts/default/config/boot.nix
Normal file
38
hosts/default/config/boot.nix
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
boot = {
|
||||
# Kernel
|
||||
kernelPackages = pkgs.linuxPackages_zen;
|
||||
# This is for OBS Virtual Cam Support
|
||||
kernelModules = ["v4l2loopback"];
|
||||
extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
|
||||
# Needed For Some Steam Games
|
||||
kernel.sysctl = {
|
||||
"vm.max_map_count" = 2147483642;
|
||||
};
|
||||
# Bootloader.
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
initrd.systemd.dbus.enable = true;
|
||||
# Make /tmp a tmpfs
|
||||
tmp = {
|
||||
useTmpfs = false;
|
||||
tmpfsSize = "30%";
|
||||
};
|
||||
# Appimage Support
|
||||
binfmt.registrations.appimage = {
|
||||
wrapInterpreterInShell = false;
|
||||
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
||||
recognitionType = "magic";
|
||||
offset = 0;
|
||||
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
|
||||
magicOrExtension = ''\x7fELF....AI\x02'';
|
||||
};
|
||||
plymouth.enable = true;
|
||||
};
|
||||
}
|
||||
15
hosts/default/config/drivers.nix
Normal file
15
hosts/default/config/drivers.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{...}: {
|
||||
# Extra Module Options
|
||||
drivers = {
|
||||
amdgpu.enable = true;
|
||||
nvidia.enable = false;
|
||||
nvidia-prime = {
|
||||
enable = false;
|
||||
intelBusID = "";
|
||||
nvidiaBusID = "";
|
||||
};
|
||||
intel.enable = false;
|
||||
};
|
||||
vm.guest-services.enable = false;
|
||||
local.hardware-clock.enable = false;
|
||||
}
|
||||
23
hosts/default/config/hardware.nix
Normal file
23
hosts/default/config/hardware.nix
Normal file
@@ -0,0 +1,23 @@
|
||||
{pkgs, ...}: {
|
||||
hardware = {
|
||||
sane = {
|
||||
enable = true;
|
||||
extraBackends = [pkgs.sane-airscan];
|
||||
disabledDefaultBackends = ["escl"];
|
||||
};
|
||||
logitech = {
|
||||
wireless = {
|
||||
enable = false;
|
||||
enableGraphical = false;
|
||||
};
|
||||
};
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
19
hosts/default/config/localization.nix
Normal file
19
hosts/default/config/localization.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{...}: {
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Warsaw";
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "pl_PL.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "pl_PL.UTF-8";
|
||||
LC_IDENTIFICATION = "pl_PL.UTF-8";
|
||||
LC_MEASUREMENT = "pl_PL.UTF-8";
|
||||
LC_MONETARY = "pl_PL.UTF-8";
|
||||
LC_NAME = "pl_PL.UTF-8";
|
||||
LC_NUMERIC = "pl_PL.UTF-8";
|
||||
LC_PAPER = "pl_PL.UTF-8";
|
||||
LC_TELEPHONE = "pl_PL.UTF-8";
|
||||
LC_TIME = "pl_PL.UTF-8";
|
||||
};
|
||||
};
|
||||
}
|
||||
19
hosts/default/config/networking.nix
Normal file
19
hosts/default/config/networking.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
host,
|
||||
options,
|
||||
...
|
||||
}: {
|
||||
# Enable networking
|
||||
networking = {
|
||||
nameservers = ["194.242.2.4" "217.12.221.61" "2a07:e340::4"];
|
||||
networkmanager.enable = true;
|
||||
hostName = host;
|
||||
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
|
||||
};
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
}
|
||||
59
hosts/default/config/nixpkgs.nix
Normal file
59
hosts/default/config/nixpkgs.nix
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# Optimization settings and garbage collection automation
|
||||
nix = {
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
substituters = ["https://hyprland.cachix.org"];
|
||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||
};
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||
};
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
pulseaudio = true;
|
||||
};
|
||||
|
||||
# Extra Portal Configuration
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
wlr.enable = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
];
|
||||
config = {
|
||||
common = {
|
||||
default = [
|
||||
"gtk"
|
||||
"hyprland"
|
||||
];
|
||||
};
|
||||
};
|
||||
configPackages = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
];
|
||||
};
|
||||
|
||||
environment = {
|
||||
variables = {
|
||||
ZANEYOS_VERSION = "2.2";
|
||||
ZANEYOS = "true";
|
||||
};
|
||||
};
|
||||
}
|
||||
18
hosts/default/config/nixpkgs/clients.nix
Normal file
18
hosts/default/config/nixpkgs/clients.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
# Klienty
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# rustdesk
|
||||
nextcloud-client
|
||||
plexamp
|
||||
bitwarden-desktop
|
||||
tutanota-desktop
|
||||
discord
|
||||
slack
|
||||
ungoogled-chromium
|
||||
docker-client
|
||||
anki-bin
|
||||
onlyoffice-bin
|
||||
freetube
|
||||
mattermost-desktop
|
||||
];
|
||||
}
|
||||
14
hosts/default/config/nixpkgs/codium.nix
Normal file
14
hosts/default/config/nixpkgs/codium.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{pkgs, ...}: {
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
(vscode-with-extensions.override {
|
||||
vscode = vscodium;
|
||||
vscodeExtensions = with vscode-extensions;
|
||||
[
|
||||
]
|
||||
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
];
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
40
hosts/default/config/nixpkgs/fundamentals.nix
Normal file
40
hosts/default/config/nixpkgs/fundamentals.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
# Fundamentalne programy dla systemu
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
killall
|
||||
eza
|
||||
git
|
||||
libnotify
|
||||
v4l-utils
|
||||
ydotool
|
||||
duf
|
||||
ncdu
|
||||
wl-clipboard
|
||||
pciutils
|
||||
ffmpeg
|
||||
socat
|
||||
ripgrep
|
||||
lshw
|
||||
bat
|
||||
pkg-config
|
||||
meson
|
||||
ninja
|
||||
brightnessctl
|
||||
swappy
|
||||
appimage-run
|
||||
networkmanagerapplet
|
||||
yad
|
||||
inxi
|
||||
playerctl
|
||||
nh
|
||||
nixfmt-rfc-style
|
||||
file-roller
|
||||
tree
|
||||
nixd
|
||||
alejandra
|
||||
docker
|
||||
docker-compose
|
||||
cifs-utils
|
||||
];
|
||||
}
|
||||
14
hosts/default/config/nixpkgs/gaming.nix
Normal file
14
hosts/default/config/nixpkgs/gaming.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
# Narzędzia do gier
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
wineWowPackages.waylandFull # wine64
|
||||
lutris
|
||||
space-cadet-pinball
|
||||
inputs.prismlauncher-cracked.packages.${system}.default
|
||||
];
|
||||
}
|
||||
16
hosts/default/config/nixpkgs/multimedia.nix
Normal file
16
hosts/default/config/nixpkgs/multimedia.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
# Programy multimedialne
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
swww
|
||||
grim
|
||||
slurp
|
||||
swaynotificationcenter
|
||||
imv
|
||||
mpv
|
||||
gimp
|
||||
pavucontrol
|
||||
vlc
|
||||
kdePackages.kdenlive
|
||||
obs-studio
|
||||
];
|
||||
}
|
||||
18
hosts/default/config/nixpkgs/tools.nix
Normal file
18
hosts/default/config/nixpkgs/tools.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
# Narzędzia systemowe
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
lm_sensors
|
||||
unzip
|
||||
unrar
|
||||
hyprpicker
|
||||
virt-viewer
|
||||
libvirt
|
||||
greetd.tuigreet
|
||||
galculator
|
||||
lazydocker
|
||||
# lazygit
|
||||
docker-slim
|
||||
dex
|
||||
exercism
|
||||
];
|
||||
}
|
||||
14
hosts/default/config/nixpkgs/tty.nix
Normal file
14
hosts/default/config/nixpkgs/tty.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
# Aplikacje terminalowe
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
gambit-chess
|
||||
tty-solitaire
|
||||
cmatrix
|
||||
cowsay
|
||||
sl
|
||||
fortune
|
||||
ookla-speedtest
|
||||
neohtop
|
||||
toot
|
||||
];
|
||||
}
|
||||
123
hosts/default/config/programs.nix
Normal file
123
hosts/default/config/programs.nix
Normal file
@@ -0,0 +1,123 @@
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
buf = {
|
||||
symbol = " ";
|
||||
};
|
||||
c = {
|
||||
symbol = " ";
|
||||
};
|
||||
directory = {
|
||||
read_only = " ";
|
||||
};
|
||||
docker_context = {
|
||||
symbol = " ";
|
||||
};
|
||||
fossil_branch = {
|
||||
symbol = " ";
|
||||
};
|
||||
git_branch = {
|
||||
symbol = " ";
|
||||
};
|
||||
golang = {
|
||||
symbol = " ";
|
||||
};
|
||||
hg_branch = {
|
||||
symbol = " ";
|
||||
};
|
||||
hostname = {
|
||||
ssh_symbol = " ";
|
||||
};
|
||||
lua = {
|
||||
symbol = " ";
|
||||
};
|
||||
memory_usage = {
|
||||
symbol = " ";
|
||||
};
|
||||
meson = {
|
||||
symbol = " ";
|
||||
};
|
||||
nim = {
|
||||
symbol = " ";
|
||||
};
|
||||
nix_shell = {
|
||||
symbol = " ";
|
||||
};
|
||||
nodejs = {
|
||||
symbol = " ";
|
||||
};
|
||||
ocaml = {
|
||||
symbol = " ";
|
||||
};
|
||||
package = {
|
||||
symbol = " ";
|
||||
};
|
||||
python = {
|
||||
symbol = " ";
|
||||
};
|
||||
rust = {
|
||||
symbol = " ";
|
||||
};
|
||||
swift = {
|
||||
symbol = " ";
|
||||
};
|
||||
zig = {
|
||||
symbol = " ";
|
||||
};
|
||||
};
|
||||
};
|
||||
hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
dconf.enable = true;
|
||||
seahorse.enable = true;
|
||||
fuse.userAllowOther = true;
|
||||
mtr.enable = true;
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
virt-manager.enable = true;
|
||||
steam = {
|
||||
enable = true;
|
||||
gamescopeSession.enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
extraCompatPackages = with pkgs; [
|
||||
proton-ge-bin
|
||||
];
|
||||
};
|
||||
gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
};
|
||||
gamemode.enable = true;
|
||||
auto-cpufreq = {
|
||||
enable = true;
|
||||
settings = {
|
||||
charger = {
|
||||
governor = "performance";
|
||||
turbo = "auto";
|
||||
};
|
||||
|
||||
battery = {
|
||||
governor = "powersave";
|
||||
turbo = "auto";
|
||||
};
|
||||
};
|
||||
};
|
||||
thunar = {
|
||||
enable = true;
|
||||
plugins = with pkgs.xfce; [
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
];
|
||||
};
|
||||
kdeconnect.enable = true;
|
||||
};
|
||||
}
|
||||
40
hosts/default/config/security.nix
Normal file
40
hosts/default/config/security.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{...}: {
|
||||
# Security / Polkit
|
||||
security = {
|
||||
rtkit.enable = true;
|
||||
polkit = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (
|
||||
subject.isInGroup("users")
|
||||
&& (
|
||||
action.id == "org.freedesktop.login1.reboot" ||
|
||||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
|
||||
action.id == "org.freedesktop.login1.power-off" ||
|
||||
action.id == "org.freedesktop.login1.power-off-multiple-sessions"
|
||||
)
|
||||
)
|
||||
{
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
})
|
||||
'';
|
||||
};
|
||||
pam.services.swaylock = {
|
||||
text = ''
|
||||
auth include login
|
||||
'';
|
||||
};
|
||||
sudo = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
Defaults pwfeedback
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
users = {
|
||||
mutableUsers = true;
|
||||
};
|
||||
}
|
||||
106
hosts/default/config/services.nix
Normal file
106
hosts/default/config/services.nix
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
pkgs,
|
||||
username,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../variables.nix) keyboardLayout;
|
||||
in {
|
||||
# Services to start
|
||||
services = {
|
||||
blueman.enable = true;
|
||||
xserver = {
|
||||
enable = false;
|
||||
xkb = {
|
||||
layout = "${keyboardLayout}";
|
||||
variant = "";
|
||||
};
|
||||
};
|
||||
resolved = {
|
||||
enable = true;
|
||||
dnssec = "true";
|
||||
domains = ["~."]; # "use as default interface for all requests"
|
||||
# (see man resolved.conf)
|
||||
# let Avahi handle mDNS publication
|
||||
extraConfig = ''
|
||||
DNSOverTLS=opportunistic
|
||||
MulticastDNS=resolve
|
||||
'';
|
||||
llmnr = "true";
|
||||
};
|
||||
greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
# Wayland Desktop Manager is installed only for user ryan via home-manager!
|
||||
user = username;
|
||||
# .wayland-session is a script generated by home-manager, which links to the current wayland compositor(sway/hyprland or others).
|
||||
# with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config here.
|
||||
# command = "$HOME/.wayland-session"; # start a wayland session directly without a login manager
|
||||
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
|
||||
};
|
||||
};
|
||||
};
|
||||
smartd = {
|
||||
enable = false;
|
||||
autodetect = true;
|
||||
};
|
||||
libinput = {
|
||||
enable = true;
|
||||
mouse = {
|
||||
accelProfile = "flat";
|
||||
};
|
||||
touchpad = {
|
||||
accelProfile = "flat";
|
||||
};
|
||||
};
|
||||
fstrim.enable = true;
|
||||
gvfs.enable = true;
|
||||
tumbler.enable = true;
|
||||
openssh.enable = true;
|
||||
flatpak.enable = false;
|
||||
printing = {
|
||||
enable = true;
|
||||
# drivers = with pkgs; [
|
||||
# # hplipWithPlugin
|
||||
# ];
|
||||
};
|
||||
gnome = {
|
||||
evolution-data-server.enable = true;
|
||||
gnome-online-accounts.enable = true;
|
||||
gnome-keyring.enable = true;
|
||||
};
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
ipp-usb.enable = true;
|
||||
syncthing = {
|
||||
enable = false;
|
||||
user = "${username}";
|
||||
dataDir = "/home/${username}";
|
||||
configDir = "/home/${username}/.config/syncthing";
|
||||
};
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
pulseaudio = {
|
||||
enable = false;
|
||||
extraConfig = "load-module module-combine-sink";
|
||||
};
|
||||
rpcbind.enable = false;
|
||||
nfs.server.enable = false;
|
||||
};
|
||||
|
||||
console.keyMap = "${keyboardLayout}";
|
||||
|
||||
systemd.services.flatpak-repo = {
|
||||
path = [pkgs.flatpak];
|
||||
script = ''
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
'';
|
||||
};
|
||||
}
|
||||
63
hosts/default/config/stylix.nix
Normal file
63
hosts/default/config/stylix.nix
Normal file
@@ -0,0 +1,63 @@
|
||||
{pkgs, ...}: {
|
||||
# Styling Options
|
||||
stylix = {
|
||||
enable = true;
|
||||
image = ../../../config/wallpapers/attack-on-titan-mikasa-ackerman.jpg;
|
||||
# base16Scheme = {
|
||||
# base00 = "232136";
|
||||
# base01 = "2a273f";
|
||||
# base02 = "393552";
|
||||
# base03 = "6e6a86";
|
||||
# base04 = "908caa";
|
||||
# base05 = "e0def4";
|
||||
# base06 = "e0def4";
|
||||
# base07 = "56526e";
|
||||
# base08 = "eb6f92";
|
||||
# base09 = "f6c177";
|
||||
# base0A = "ea9a97";
|
||||
# base0B = "3e8fb0";
|
||||
# base0C = "9ccfd8";
|
||||
# base0D = "c4a7e7";
|
||||
# base0E = "f6c177";
|
||||
# base0F = "56526e";
|
||||
# };
|
||||
polarity = "dark";
|
||||
opacity.terminal = 0.8;
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 24;
|
||||
};
|
||||
fonts = {
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.fira-mono;
|
||||
name = "FiraCode Nerd Fonts Mono";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerd-fonts.fira-code;
|
||||
name = "FiraCode Nerd Fonts";
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerd-fonts.fira-code;
|
||||
name = "FiraCode Nerd Fonts";
|
||||
};
|
||||
sizes = {
|
||||
applications = 12;
|
||||
terminal = 15;
|
||||
desktop = 11;
|
||||
popups = 12;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
noto-fonts-emoji
|
||||
noto-fonts-cjk-sans
|
||||
font-awesome
|
||||
# Commenting Symbola out to fix install this will need to be fixed or an alternative found.
|
||||
# symbola
|
||||
material-icons
|
||||
];
|
||||
};
|
||||
}
|
||||
10
hosts/default/config/virtualization.nix
Normal file
10
hosts/default/config/virtualization.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{pkgs, ...}: {
|
||||
# Virtualization / Containers
|
||||
virtualisation = {
|
||||
libvirtd.enable = true;
|
||||
docker = {
|
||||
enable = true;
|
||||
package = pkgs.docker;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,38 +1,47 @@
|
||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "nvme" "usbhid" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/c537152e-ea4f-4bb7-b453-088612e0024a";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/a96dc5a2-e2bf-4725-a7be-6b9d2b020fa6";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/DA7B-269C";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
boot.initrd.luks.devices."luks-9b24a6b5-14e7-4e50-bd1d-c1af7382027c".device = "/dev/disk/by-uuid/9b24a6b5-14e7-4e50-bd1d-c1af7382027c";
|
||||
|
||||
swapDevices = [ ];
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/3D12-F697";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0077" "dmask=0077"];
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{device = "/dev/disk/by-uuid/f1c0ee39-01a9-4508-916a-978650d6c514";}
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp7s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
|
||||
@@ -1,17 +1,4 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
username,
|
||||
host,
|
||||
...
|
||||
}: let
|
||||
inherit (import ./variables.nix) gitUsername gitEmail;
|
||||
in {
|
||||
# Home Manager Settings
|
||||
home.username = "${username}";
|
||||
home.homeDirectory = "/home/${username}";
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
{...}: {
|
||||
# Import Program Configurations
|
||||
imports = [
|
||||
../../config/emoji.nix
|
||||
@@ -24,236 +11,12 @@ in {
|
||||
../../config/waybar.nix
|
||||
../../config/wlogout.nix
|
||||
../../config/fastfetch
|
||||
|
||||
./home/home.nix
|
||||
./home/misc.nix
|
||||
./home/programs.nix
|
||||
./home/programs.librewolf.nix
|
||||
./home/services.nix
|
||||
./home/styles.nix
|
||||
];
|
||||
|
||||
# Place Files Inside Home Directory
|
||||
home.file = {
|
||||
"Pictures/Wallpapers".source = ../../config/wallpapers;
|
||||
"Pictures/Wallpapers".recursive = true;
|
||||
".config/wlogout/icons".source = ../../config/wlogout;
|
||||
".config/wlogout/icons".recursive = true;
|
||||
".face.icon".source = ../../config/face.jpg;
|
||||
".config/face.jpg".source = ../../config/face.jpg;
|
||||
".config/swappy/config".text = ''
|
||||
[Default]
|
||||
save_dir=/home/${username}/Pictures/Screenshots
|
||||
save_filename_format=swappy-%Y%m%d-%H%M%S.png
|
||||
show_panel=false
|
||||
line_size=5
|
||||
text_size=20
|
||||
text_font=Ubuntu
|
||||
paint_mode=brush
|
||||
early_exit=true
|
||||
fill_shape=false
|
||||
'';
|
||||
};
|
||||
|
||||
# Install & Configure Git
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "${gitUsername}";
|
||||
userEmail = "${gitEmail}";
|
||||
};
|
||||
|
||||
# Create XDG Dirs
|
||||
xdg = {
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
};
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = ["qemu:///system"];
|
||||
uris = ["qemu:///system"];
|
||||
};
|
||||
};
|
||||
|
||||
# Styling Options
|
||||
stylix = {
|
||||
targets = {
|
||||
waybar = {
|
||||
enable = false;
|
||||
};
|
||||
rofi = {
|
||||
enable = false;
|
||||
};
|
||||
hyprland = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
gtk = {
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
gtk3.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
};
|
||||
gtk4.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
style.name = "adwaita-dark";
|
||||
platformTheme.name = "gtk3";
|
||||
};
|
||||
|
||||
# Scripts
|
||||
home.packages = [
|
||||
(import ../../scripts/emopicker9000.nix {inherit pkgs;})
|
||||
(import ../../scripts/task-waybar.nix {inherit pkgs;})
|
||||
(import ../../scripts/squirtle.nix {inherit pkgs;})
|
||||
(import ../../scripts/nvidia-offload.nix {inherit pkgs;})
|
||||
(import ../../scripts/wallsetter.nix {
|
||||
inherit pkgs;
|
||||
inherit username;
|
||||
})
|
||||
(import ../../scripts/web-search.nix {inherit pkgs;})
|
||||
(import ../../scripts/rofi-launcher.nix {inherit pkgs;})
|
||||
(import ../../scripts/screenshootin.nix {inherit pkgs;})
|
||||
(import ../../scripts/list-hypr-bindings.nix {
|
||||
inherit pkgs;
|
||||
inherit host;
|
||||
})
|
||||
];
|
||||
|
||||
services = {
|
||||
hypridle = {
|
||||
settings = {
|
||||
general = {
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||
ignore_dbus_inhibit = false;
|
||||
lock_cmd = "hyprlock";
|
||||
};
|
||||
listener = [
|
||||
{
|
||||
timeout = 900;
|
||||
on-timeout = "hyprlock";
|
||||
}
|
||||
{
|
||||
timeout = 1200;
|
||||
on-timeout = "hyprctl dispatch dpms off";
|
||||
on-resume = "hyprctl dispatch dpms on";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
gh.enable = true;
|
||||
btop = {
|
||||
enable = true;
|
||||
};
|
||||
kitty = {
|
||||
enable = true;
|
||||
package = pkgs.kitty;
|
||||
settings = {
|
||||
scrollback_lines = 2000;
|
||||
wheel_scroll_min_lines = 1;
|
||||
window_padding_width = 4;
|
||||
confirm_os_window_close = 0;
|
||||
};
|
||||
extraConfig = ''
|
||||
tab_bar_style fade
|
||||
tab_fade 1
|
||||
active_tab_font_style bold
|
||||
inactive_tab_font_style bold
|
||||
'';
|
||||
};
|
||||
starship = {
|
||||
enable = true;
|
||||
package = pkgs.starship;
|
||||
};
|
||||
bash = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
profileExtra = ''
|
||||
#if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
|
||||
# exec Hyprland
|
||||
#fi
|
||||
'';
|
||||
initExtra = ''
|
||||
fastfetch
|
||||
if [ -f $HOME/.bashrc-personal ]; then
|
||||
source $HOME/.bashrc-personal
|
||||
fi
|
||||
'';
|
||||
shellAliases = {
|
||||
os-sw = "sudo nixos-rebuild switch --flake ~/zaneyos";
|
||||
os-bt = "sudo nixos-rebuild boot --flake ~/zaneyos";
|
||||
os-ts = "sudo nixos-rebuild test --flake ~/zaneyos";
|
||||
os-up = "sudo nix flake update";
|
||||
os-upg = "sudo nix flake update && sudo nixos-rebuild switch --flake ~/zaneyos";
|
||||
os-up-np = "sudo nix flake update --update-input nixpkgs";
|
||||
os-up-hm = "sudo nix flake update --update-input home-manager";
|
||||
os-up-sx = "sudo nix flake update --update-input stylix";
|
||||
fr = "nh os switch --hostname ${host} /home/${username}/zaneyos";
|
||||
fu = "nh os switch --hostname ${host} --update /home/${username}/zaneyos";
|
||||
hypr-cli = "hyprctl clients";
|
||||
zu = "sh <(curl -L https://gitlab.com/Zaney/zaneyos/-/raw/main/install-zaneyos.sh)";
|
||||
ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
|
||||
n = "nano";
|
||||
f = "fuck";
|
||||
cat = "bat";
|
||||
st = "speedtest";
|
||||
ls = "eza --icons";
|
||||
ll = "eza -lh --icons --grid --group-directories-first";
|
||||
la = "eza -lah --icons --grid --group-directories-first";
|
||||
terminal = "cat /home/garand_plg/Documents/terminal.txt";
|
||||
e-terminal = "nano /home/garand_plg/Documents/terminal.txt";
|
||||
".." = "cd ..";
|
||||
};
|
||||
};
|
||||
home-manager.enable = true;
|
||||
hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
disable_loading_bar = true;
|
||||
grace = 10;
|
||||
hide_cursor = true;
|
||||
no_fade_in = false;
|
||||
};
|
||||
background = lib.mkDefault [
|
||||
{
|
||||
path = "/home/${username}/Pictures/Wallpapers/attack-on-titan-mikasa-ackerman.jpg";
|
||||
blur_passes = 3;
|
||||
blur_size = 8;
|
||||
}
|
||||
];
|
||||
image = [
|
||||
{
|
||||
path = "/home/${username}/.config/face.jpg";
|
||||
size = 150;
|
||||
border_size = 4;
|
||||
border_color = "rgb(0C96F9)";
|
||||
rounding = -1; # Negative means circle
|
||||
position = "0, 200";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
input-field = lib.mkDefault [
|
||||
{
|
||||
size = "200, 50";
|
||||
position = "0, -80";
|
||||
monitor = "";
|
||||
dots_center = true;
|
||||
fade_on_empty = false;
|
||||
font_color = "rgb(CFE6F4)";
|
||||
inner_color = "rgb(657DC2)";
|
||||
outer_color = "rgb(0D0E15)";
|
||||
outline_thickness = 5;
|
||||
placeholder_text = "Password...";
|
||||
shadow_passes = 2;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
64
hosts/default/home/home.nix
Normal file
64
hosts/default/home/home.nix
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
pkgs,
|
||||
username,
|
||||
host,
|
||||
...
|
||||
}: let
|
||||
dexApps = import ../../../scripts/dex-apps.nix {inherit pkgs;};
|
||||
in {
|
||||
# Home Manager Settings
|
||||
home = {
|
||||
username = "${username}";
|
||||
homeDirectory = "/home/${username}";
|
||||
stateVersion = "23.11";
|
||||
# Place Files Inside Home Directory
|
||||
file = {
|
||||
"Pictures/Wallpapers".source = ../../../config/wallpapers;
|
||||
"Pictures/Wallpapers".recursive = true;
|
||||
".config/wlogout/icons".source = ../../../config/wlogout;
|
||||
".config/wlogout/icons".recursive = true;
|
||||
".face.icon".source = ../../../config/face.jpg;
|
||||
".config/face.jpg".source = ../../../config/face.jpg;
|
||||
".config/swappy/config".text = ''
|
||||
[Default]
|
||||
save_dir=/home/${username}/Pictures/Screenshots
|
||||
save_filename_format=swappy-%Y%m%d-%H%M%S.png
|
||||
show_panel=false
|
||||
line_size=5
|
||||
text_size=20
|
||||
text_font=Ubuntu
|
||||
paint_mode=brush
|
||||
early_exit=true
|
||||
fill_shape=false
|
||||
'';
|
||||
};
|
||||
# Scripts
|
||||
packages = [
|
||||
(import ../../../scripts/emopicker9000.nix {inherit pkgs;})
|
||||
(import ../../../scripts/task-waybar.nix {inherit pkgs;})
|
||||
(import ../../../scripts/squirtle.nix {inherit pkgs;})
|
||||
(import ../../../scripts/nvidia-offload.nix {inherit pkgs;})
|
||||
(import ../../../scripts/wallsetter.nix {
|
||||
inherit pkgs;
|
||||
inherit username;
|
||||
})
|
||||
(import ../../../scripts/web-search.nix {inherit pkgs;})
|
||||
(import ../../../scripts/rofi-launcher.nix {inherit pkgs;})
|
||||
(import ../../../scripts/screenshootin.nix {inherit pkgs;})
|
||||
(import ../../../scripts/list-hypr-bindings.nix {
|
||||
inherit pkgs;
|
||||
inherit host;
|
||||
})
|
||||
|
||||
dexApps.dex-messenger
|
||||
dexApps.dex-instagram
|
||||
dexApps.dex-chatgpt
|
||||
dexApps.dex-portainer
|
||||
dexApps.dex-claude
|
||||
dexApps.dex-beszel
|
||||
dexApps.dex-mastodon
|
||||
dexApps.dex-nextcloud
|
||||
dexApps.dex-dailydev
|
||||
];
|
||||
};
|
||||
}
|
||||
37
hosts/default/home/misc.nix
Normal file
37
hosts/default/home/misc.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{pkgs, ...}: {
|
||||
# Create XDG Dirs
|
||||
xdg = {
|
||||
enable = true;
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
};
|
||||
portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
];
|
||||
config = {
|
||||
common = {
|
||||
default = [
|
||||
"gtk"
|
||||
"hyprland"
|
||||
];
|
||||
};
|
||||
};
|
||||
configPackages = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = ["qemu:///system"];
|
||||
uris = ["qemu:///system"];
|
||||
};
|
||||
};
|
||||
}
|
||||
314
hosts/default/home/programs.librewolf.nix
Normal file
314
hosts/default/home/programs.librewolf.nix
Normal file
File diff suppressed because one or more lines are too long
132
hosts/default/home/programs.nix
Normal file
132
hosts/default/home/programs.nix
Normal file
@@ -0,0 +1,132 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
username,
|
||||
host,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../variables.nix) gitUsername gitEmail;
|
||||
in {
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "${gitUsername}";
|
||||
userEmail = "${gitEmail}";
|
||||
extraConfig = {
|
||||
credential.helper = "cache --timeout=3600";
|
||||
};
|
||||
};
|
||||
|
||||
gh.enable = true;
|
||||
|
||||
kitty = {
|
||||
enable = true;
|
||||
package = pkgs.kitty;
|
||||
settings = {
|
||||
scrollback_lines = 2000;
|
||||
wheel_scroll_min_lines = 1;
|
||||
window_padding_width = 4;
|
||||
confirm_os_window_close = 0;
|
||||
};
|
||||
extraConfig = ''
|
||||
tab_bar_style fade
|
||||
tab_fade 1
|
||||
active_tab_font_style bold
|
||||
inactive_tab_font_style bold
|
||||
'';
|
||||
};
|
||||
|
||||
starship = {
|
||||
enable = true;
|
||||
package = pkgs.starship;
|
||||
};
|
||||
|
||||
bash = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
profileExtra = ''
|
||||
#if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
|
||||
# exec Hyprland
|
||||
#fi
|
||||
'';
|
||||
initExtra = ''
|
||||
fastfetch
|
||||
if [ -f $HOME/.bashrc-personal ]; then
|
||||
source $HOME/.bashrc-personal
|
||||
fi
|
||||
'';
|
||||
shellAliases = {
|
||||
os-sw = "sudo nixos-rebuild switch --flake ~/zaneyos";
|
||||
os-bt = "sudo nixos-rebuild boot --flake ~/zaneyos";
|
||||
os-ts = "sudo nixos-rebuild test --flake ~/zaneyos";
|
||||
os-up = "sudo nix flake update";
|
||||
os-upg = "sudo nix flake update && sudo nixos-rebuild switch --flake ~/zaneyos";
|
||||
os-up-np = "sudo nix flake update --update-input nixpkgs";
|
||||
fr = "nh os switch --hostname ${host} /home/${username}/zaneyos";
|
||||
fu = "nh os switch --hostname ${host} --update /home/${username}/zaneyos";
|
||||
hypr-cli = "hyprctl clients";
|
||||
ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
|
||||
n = "nano";
|
||||
cat = "bat";
|
||||
ookla = "speedtest";
|
||||
ls = "eza --icons";
|
||||
ll = "eza -lh --icons --grid --group-directories-first";
|
||||
la = "eza -lah --icons --grid --group-directories-first";
|
||||
ssh-server = "ssh garand_plg@192.168.1.156 -p 556 -i ~/.ssh/hp-t640-homeserver";
|
||||
fc = "fortune | cowsay";
|
||||
mkgidf = "git add --intent-to-add . && git diff > git-diff.txt";
|
||||
".." = "cd ..";
|
||||
kys = "shutdown now";
|
||||
pasjans = "ttysolitaire -p 10 --no-background-color";
|
||||
};
|
||||
};
|
||||
|
||||
hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
disable_loading_bar = true;
|
||||
grace = 10;
|
||||
hide_cursor = true;
|
||||
no_fade_in = false;
|
||||
};
|
||||
background = lib.mkForce [
|
||||
{
|
||||
path = "/home/${username}/Pictures/Wallpapers/attack-on-titan-mikasa-ackerman.jpg";
|
||||
blur_passes = 3;
|
||||
blur_size = 8;
|
||||
}
|
||||
];
|
||||
image = [
|
||||
{
|
||||
path = "/home/${username}/.config/face.jpg";
|
||||
size = 150;
|
||||
border_size = 4;
|
||||
border_color = "rgb(0C96F9)";
|
||||
rounding = -1; # Negative means circle
|
||||
position = "0, 200";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
input-field = lib.mkDefault [
|
||||
{
|
||||
size = "200, 50";
|
||||
position = "0, -80";
|
||||
monitor = "";
|
||||
dots_center = true;
|
||||
fade_on_empty = false;
|
||||
font_color = "rgb(CFE6F4)";
|
||||
inner_color = "rgb(657DC2)";
|
||||
outer_color = "rgb(0D0E15)";
|
||||
outline_thickness = 5;
|
||||
placeholder_text = "Password...";
|
||||
shadow_passes = 2;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
24
hosts/default/home/services.nix
Normal file
24
hosts/default/home/services.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{...}: {
|
||||
services = {
|
||||
hypridle = {
|
||||
settings = {
|
||||
general = {
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||
ignore_dbus_inhibit = false;
|
||||
lock_cmd = "hyprlock";
|
||||
};
|
||||
listener = [
|
||||
{
|
||||
timeout = 900;
|
||||
on-timeout = "hyprlock";
|
||||
}
|
||||
{
|
||||
timeout = 1200;
|
||||
on-timeout = "hyprctl dispatch dpms off";
|
||||
on-resume = "hyprctl dispatch dpms on";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
41
hosts/default/home/styles.nix
Normal file
41
hosts/default/home/styles.nix
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
host,
|
||||
...
|
||||
}: {
|
||||
# Styling Options
|
||||
stylix = {
|
||||
targets = {
|
||||
librewolf.profileNames = ["${host}"];
|
||||
waybar = {
|
||||
enable = false;
|
||||
};
|
||||
rofi = {
|
||||
enable = false;
|
||||
};
|
||||
hyprland = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
gtk3.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
};
|
||||
gtk4.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
style.name = lib.mkDefault "adwaita-dark";
|
||||
platformTheme.name = lib.mkDefault "gtk3";
|
||||
};
|
||||
}
|
||||
@@ -18,11 +18,11 @@ in {
|
||||
"lp"
|
||||
"docker"
|
||||
"audio"
|
||||
"gamemode"
|
||||
];
|
||||
shell = pkgs.bash;
|
||||
ignoreShellProgramCheck = true;
|
||||
# packages = with pkgs; [
|
||||
# ];
|
||||
# packages = with pkgs; [];
|
||||
};
|
||||
# "newuser" = {
|
||||
# homeMode = "755";
|
||||
|
||||
@@ -1,16 +1,12 @@
|
||||
{
|
||||
# Git Configuration ( For Pulling Software Repos )
|
||||
gitUsername = "GarandPLG";
|
||||
gitEmail = "garandplg@garandplg.com";
|
||||
gitUsername = "";
|
||||
gitEmail = "";
|
||||
|
||||
# Hyprland Settings
|
||||
extraMonitorSettings = "";
|
||||
|
||||
# Waybar Settings
|
||||
clock24h = true;
|
||||
|
||||
# Program Options
|
||||
browser = "librewolf"; # Set Default Browser (google-chrome-stable for google-chrome)
|
||||
terminal = "kitty"; # Set Default System Terminal
|
||||
browser = "librewolf";
|
||||
terminal = "kitty";
|
||||
keyboardLayout = "pl";
|
||||
}
|
||||
|
||||
@@ -1,17 +1,29 @@
|
||||
{
|
||||
inputs,
|
||||
config,
|
||||
pkgs,
|
||||
host,
|
||||
username,
|
||||
options,
|
||||
...
|
||||
}: let
|
||||
inherit (import ./variables.nix) keyboardLayout;
|
||||
in {
|
||||
{...}: {
|
||||
imports = [
|
||||
./hardware.nix
|
||||
./users.nix
|
||||
|
||||
./config/boot.nix
|
||||
./config/drivers.nix
|
||||
./config/hardware.nix
|
||||
./config/localization.nix
|
||||
./config/networking.nix
|
||||
|
||||
./config/nixpkgs.nix
|
||||
./config/nixpkgs/clients.nix
|
||||
./config/nixpkgs/codium.nix
|
||||
./config/nixpkgs/fundamentals.nix
|
||||
./config/nixpkgs/gaming.nix
|
||||
./config/nixpkgs/multimedia.nix
|
||||
./config/nixpkgs/tools.nix
|
||||
./config/nixpkgs/tty.nix
|
||||
|
||||
./config/programs.nix
|
||||
./config/security.nix
|
||||
./config/services.nix
|
||||
./config/stylix.nix
|
||||
./config/virtualization.nix
|
||||
|
||||
../../modules/amd-drivers.nix
|
||||
../../modules/nvidia-drivers.nix
|
||||
../../modules/nvidia-prime-drivers.nix
|
||||
@@ -20,829 +32,6 @@ in {
|
||||
../../modules/local-hardware-clock.nix
|
||||
];
|
||||
|
||||
boot = {
|
||||
# Kernel
|
||||
kernelPackages = pkgs.linuxPackages_zen;
|
||||
# This is for OBS Virtual Cam Support
|
||||
kernelModules = ["v4l2loopback"];
|
||||
extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
|
||||
# Needed For Some Steam Games
|
||||
kernel.sysctl = {
|
||||
"vm.max_map_count" = 2147483642;
|
||||
};
|
||||
# Bootloader.
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
# Make /tmp a tmpfs
|
||||
tmp = {
|
||||
useTmpfs = false;
|
||||
tmpfsSize = "30%";
|
||||
};
|
||||
# Appimage Support
|
||||
binfmt.registrations.appimage = {
|
||||
wrapInterpreterInShell = false;
|
||||
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
||||
recognitionType = "magic";
|
||||
offset = 0;
|
||||
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
|
||||
magicOrExtension = ''\x7fELF....AI\x02'';
|
||||
};
|
||||
plymouth.enable = true;
|
||||
};
|
||||
|
||||
# Styling Options
|
||||
stylix = {
|
||||
enable = true;
|
||||
image = ../../config/wallpapers/attack-on-titan-mikasa-ackerman.jpg;
|
||||
# base16Scheme = {
|
||||
# base00 = "232136";
|
||||
# base01 = "2a273f";
|
||||
# base02 = "393552";
|
||||
# base03 = "6e6a86";
|
||||
# base04 = "908caa";
|
||||
# base05 = "e0def4";
|
||||
# base06 = "e0def4";
|
||||
# base07 = "56526e";
|
||||
# base08 = "eb6f92";
|
||||
# base09 = "f6c177";
|
||||
# base0A = "ea9a97";
|
||||
# base0B = "3e8fb0";
|
||||
# base0C = "9ccfd8";
|
||||
# base0D = "c4a7e7";
|
||||
# base0E = "f6c177";
|
||||
# base0F = "56526e";
|
||||
# };
|
||||
polarity = "dark";
|
||||
opacity.terminal = 0.8;
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 24;
|
||||
};
|
||||
fonts = {
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.fira-mono;
|
||||
name = "FiraCode Nerd Fonts Mono";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerd-fonts.fira-code;
|
||||
name = "FiraCode Nerd Fonts";
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerd-fonts.fira-code;
|
||||
name = "FiraCode Nerd Fonts";
|
||||
};
|
||||
sizes = {
|
||||
applications = 12;
|
||||
terminal = 15;
|
||||
desktop = 11;
|
||||
popups = 12;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Extra Module Options
|
||||
drivers = {
|
||||
amdgpu.enable = true;
|
||||
nvidia.enable = false;
|
||||
nvidia-prime = {
|
||||
enable = false;
|
||||
intelBusID = "";
|
||||
nvidiaBusID = "";
|
||||
};
|
||||
intel.enable = false;
|
||||
};
|
||||
vm.guest-services.enable = false;
|
||||
local.hardware-clock.enable = false;
|
||||
|
||||
# Enable networking
|
||||
networking = {
|
||||
nameservers = ["176.9.1.117" "213.196.191.96" "2a01:4f8:151:34aa::198"];
|
||||
networkmanager.enable = true;
|
||||
hostName = host;
|
||||
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
|
||||
};
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Warsaw";
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "pl_PL.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "pl_PL.UTF-8";
|
||||
LC_IDENTIFICATION = "pl_PL.UTF-8";
|
||||
LC_MEASUREMENT = "pl_PL.UTF-8";
|
||||
LC_MONETARY = "pl_PL.UTF-8";
|
||||
LC_NAME = "pl_PL.UTF-8";
|
||||
LC_NUMERIC = "pl_PL.UTF-8";
|
||||
LC_PAPER = "pl_PL.UTF-8";
|
||||
LC_TELEPHONE = "pl_PL.UTF-8";
|
||||
LC_TIME = "pl_PL.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
firefox.enable = false;
|
||||
starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
buf = {
|
||||
symbol = " ";
|
||||
};
|
||||
c = {
|
||||
symbol = " ";
|
||||
};
|
||||
directory = {
|
||||
read_only = " ";
|
||||
};
|
||||
docker_context = {
|
||||
symbol = " ";
|
||||
};
|
||||
fossil_branch = {
|
||||
symbol = " ";
|
||||
};
|
||||
git_branch = {
|
||||
symbol = " ";
|
||||
};
|
||||
golang = {
|
||||
symbol = " ";
|
||||
};
|
||||
hg_branch = {
|
||||
symbol = " ";
|
||||
};
|
||||
hostname = {
|
||||
ssh_symbol = " ";
|
||||
};
|
||||
lua = {
|
||||
symbol = " ";
|
||||
};
|
||||
memory_usage = {
|
||||
symbol = " ";
|
||||
};
|
||||
meson = {
|
||||
symbol = " ";
|
||||
};
|
||||
nim = {
|
||||
symbol = " ";
|
||||
};
|
||||
nix_shell = {
|
||||
symbol = " ";
|
||||
};
|
||||
nodejs = {
|
||||
symbol = " ";
|
||||
};
|
||||
ocaml = {
|
||||
symbol = " ";
|
||||
};
|
||||
package = {
|
||||
symbol = " ";
|
||||
};
|
||||
python = {
|
||||
symbol = " ";
|
||||
};
|
||||
rust = {
|
||||
symbol = " ";
|
||||
};
|
||||
swift = {
|
||||
symbol = " ";
|
||||
};
|
||||
zig = {
|
||||
symbol = " ";
|
||||
};
|
||||
};
|
||||
};
|
||||
dconf.enable = true;
|
||||
seahorse.enable = true;
|
||||
fuse.userAllowOther = true;
|
||||
mtr.enable = true;
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
virt-manager.enable = true;
|
||||
steam = {
|
||||
enable = true;
|
||||
gamescopeSession.enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
};
|
||||
auto-cpufreq = {
|
||||
enable = true;
|
||||
settings = {
|
||||
charger = {
|
||||
governor = "performance";
|
||||
turbo = "auto";
|
||||
};
|
||||
|
||||
battery = {
|
||||
governor = "powersave";
|
||||
turbo = "auto";
|
||||
};
|
||||
};
|
||||
};
|
||||
thunar = {
|
||||
enable = true;
|
||||
plugins = with pkgs.xfce; [
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
pulseaudio = true;
|
||||
};
|
||||
|
||||
users = {
|
||||
mutableUsers = true;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
killall
|
||||
eza
|
||||
git
|
||||
cmatrix
|
||||
lolcat
|
||||
libvirt
|
||||
lxqt.lxqt-policykit
|
||||
lm_sensors
|
||||
unzip
|
||||
unrar
|
||||
libnotify
|
||||
v4l-utils
|
||||
ydotool
|
||||
duf
|
||||
ncdu
|
||||
wl-clipboard
|
||||
pciutils
|
||||
ffmpeg
|
||||
socat
|
||||
cowsay
|
||||
ripgrep
|
||||
lshw
|
||||
bat
|
||||
pkg-config
|
||||
meson
|
||||
hyprpicker
|
||||
ninja
|
||||
brightnessctl
|
||||
virt-viewer
|
||||
swappy
|
||||
appimage-run
|
||||
networkmanagerapplet
|
||||
yad
|
||||
inxi
|
||||
playerctl
|
||||
nh
|
||||
nixfmt-rfc-style
|
||||
discord
|
||||
libvirt
|
||||
swww
|
||||
grim
|
||||
slurp
|
||||
file-roller
|
||||
swaynotificationcenter
|
||||
imv
|
||||
mpv
|
||||
gimp
|
||||
pavucontrol
|
||||
tree
|
||||
greetd.tuigreet
|
||||
librewolf
|
||||
protonup
|
||||
plex-media-player
|
||||
plexamp
|
||||
bitwarden-desktop
|
||||
vlc
|
||||
nixd
|
||||
ungoogled-chromium
|
||||
slack
|
||||
alejandra
|
||||
tutanota-desktop
|
||||
ookla-speedtest
|
||||
rustdesk
|
||||
bun
|
||||
docker
|
||||
docker-compose
|
||||
docker-slim
|
||||
sl
|
||||
nodejs
|
||||
kdePackages.kdenlive
|
||||
galculator
|
||||
obs-studio
|
||||
thefuck
|
||||
cifs-utils
|
||||
libreoffice
|
||||
bastet
|
||||
nsnake
|
||||
exiftool
|
||||
python3
|
||||
figlet
|
||||
fortune
|
||||
wtf
|
||||
pipes
|
||||
cava
|
||||
wineWowPackages.waylandFull # wine64
|
||||
lazydocker
|
||||
lazygit
|
||||
lutris
|
||||
(vscode-with-extensions.override {
|
||||
vscode = vscodium;
|
||||
vscodeExtensions = with vscode-extensions;
|
||||
[
|
||||
batisteo.vscode-django
|
||||
bradlc.vscode-tailwindcss
|
||||
christian-kohler.npm-intellisense
|
||||
christian-kohler.path-intellisense
|
||||
continue.continue
|
||||
davidanson.vscode-markdownlint
|
||||
dbaeumer.vscode-eslint
|
||||
donjayamanne.githistory
|
||||
esbenp.prettier-vscode
|
||||
ethansk.restore-terminals
|
||||
formulahendry.auto-close-tag
|
||||
formulahendry.auto-rename-tag
|
||||
grapecity.gc-excelviewer
|
||||
gruntfuggly.todo-tree
|
||||
hediet.vscode-drawio
|
||||
jnoortheen.nix-ide
|
||||
mechatroner.rainbow-csv
|
||||
ms-azuretools.vscode-docker
|
||||
ms-python.debugpy
|
||||
ms-python.flake8
|
||||
ms-python.python
|
||||
ms-python.vscode-pylance
|
||||
njpwerner.autodocstring
|
||||
octref.vetur
|
||||
oderwat.indent-rainbow
|
||||
shd101wyy.markdown-preview-enhanced
|
||||
streetsidesoftware.code-spell-checker
|
||||
supermaven.supermaven
|
||||
tomoki1207.pdf
|
||||
visualstudioexptteam.intellicode-api-usage-examples
|
||||
visualstudioexptteam.vscodeintellicode
|
||||
vscode-icons-team.vscode-icons
|
||||
vue.volar
|
||||
wholroyd.jinja
|
||||
yoavbls.pretty-ts-errors
|
||||
]
|
||||
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
{
|
||||
name = "goto-alias";
|
||||
publisher = "antfu";
|
||||
version = "0.2.1";
|
||||
hash = "sha256-BJBJVG/zW2BW6K0UqQ4EE12VVIxW3g+z5CecZXRPIrM=";
|
||||
}
|
||||
{
|
||||
name = "vite";
|
||||
publisher = "antfu";
|
||||
version = "0.2.5";
|
||||
hash = "sha256-F3uaqoaLXLE7M8OPzNIIUSraTBeRMwtjxrbgQyMIyZE=";
|
||||
}
|
||||
{
|
||||
name = "django-html";
|
||||
publisher = "bibhasdn";
|
||||
version = "1.3.0";
|
||||
hash = "sha256-7xVJVcjmwl6917lqkTa0KFwMLkAvHkNT2wVML14gVCk=";
|
||||
}
|
||||
{
|
||||
name = "django";
|
||||
publisher = "bigonesystems";
|
||||
version = "1.0.2";
|
||||
hash = "sha256-UBmvaCiNQ84qpAObDWyFL18TVFBn0z/6SBDKWeAIzTc=";
|
||||
}
|
||||
{
|
||||
name = "align-imports";
|
||||
publisher = "danielcanada";
|
||||
version = "0.1.0";
|
||||
hash = "sha256-Aj87mxOGer24O24/4/bGQqgLpgoBvfwOCKQyJ8NLplU=";
|
||||
}
|
||||
{
|
||||
name = "python-environment-manager";
|
||||
publisher = "donjayamanne";
|
||||
version = "1.2.7";
|
||||
hash = "sha256-w3csu6rJm/Z6invC/TR7tx6Aq5DD77VM62nem8/QMlg=";
|
||||
}
|
||||
{
|
||||
name = "python-extension-pack";
|
||||
publisher = "donjayamanne";
|
||||
version = "1.7.0";
|
||||
hash = "sha256-ewOw6nMVzNSYddLcCBGKVNvllztFwhEtncE2RFeFcOc=";
|
||||
}
|
||||
{
|
||||
name = "one-dark-pro-monokai-darker";
|
||||
publisher = "eserozvataf";
|
||||
version = "1.1.0";
|
||||
hash = "sha256-jUjBiy0CD7jw2WBMvM3h8bEC2ySEuj7532dC3v9lpyI=";
|
||||
}
|
||||
{
|
||||
name = "imports-sorter";
|
||||
publisher = "glhrmoura";
|
||||
version = "0.1.6";
|
||||
hash = "sha256-M+SWEJAwn8wPJJ+abi2mN0ziK7P6Sjt0iRAKSyTWvkg=";
|
||||
}
|
||||
{
|
||||
name = "bootstrap-intellisense";
|
||||
publisher = "hossaini";
|
||||
version = "2.0.2";
|
||||
hash = "sha256-io6mPkF19EYo1tVTnd87EWX1mH9zAz0Zzks6v5XN3UE=";
|
||||
}
|
||||
{
|
||||
name = "tab-indent-space-align";
|
||||
publisher = "j-zeppenfeld";
|
||||
version = "0.0.3";
|
||||
hash = "sha256-+WEdYJOVWW7YumfzLkvZmrnpUiC85oLsG1BKMwL1NHc=";
|
||||
}
|
||||
{
|
||||
name = "bun-lockb";
|
||||
publisher = "jaaxxx";
|
||||
version = "0.0.7";
|
||||
hash = "sha256-CkdH/luVTFycRn4Td6ovFnEQep+tVEIXsyUjhfJwfN4=";
|
||||
}
|
||||
{
|
||||
name = "search-node-modules";
|
||||
publisher = "jasonnutter";
|
||||
version = "1.3.0";
|
||||
hash = "sha256-X2CkCVF46McnXDlASlRHKixlAzR+hU4ys8A8JsbpfYI=";
|
||||
}
|
||||
{
|
||||
name = "polacode-2019";
|
||||
publisher = "jeff-hykin";
|
||||
version = "0.6.1";
|
||||
hash = "sha256-SbfsD28gaVHAmJskUuc1Q8kA47jrVa3OO5Ur7ULk3jI=";
|
||||
}
|
||||
{
|
||||
name = "vsc-python-indent";
|
||||
publisher = "kevinrose";
|
||||
version = "1.19.0";
|
||||
hash = "sha256-gX0L416RXIQ9S4kFguEJJ7u4GSo7WbpifXmL/mWCU08=";
|
||||
}
|
||||
{
|
||||
name = "json-to-ts";
|
||||
publisher = "mariusalchimavicius";
|
||||
version = "1.8.0";
|
||||
hash = "sha256-WoSycVtUAkVXv7BDuh+jFbnaU1IdVLvVjOYuIuUp79M=";
|
||||
}
|
||||
{
|
||||
name = "inline-fold";
|
||||
publisher = "moalamri";
|
||||
version = "0.2.6";
|
||||
hash = "sha256-VPEp4gtXH787iK0RxjfciIZO1cjkYacjNELzjzcs/FI=";
|
||||
}
|
||||
{
|
||||
name = "vscode-language-pack-pl";
|
||||
publisher = "ms-ceintl";
|
||||
version = "1.97.2025020509";
|
||||
hash = "sha256-D2x745VgarYs6vRo6Eiyx7Zy4FHmFfF01xddbWlLmjM=";
|
||||
}
|
||||
{
|
||||
name = "mdc";
|
||||
publisher = "nuxt";
|
||||
version = "0.2.0";
|
||||
hash = "sha256-M/29ZDg1sva9msGgRe6xqpCYDpW6X/BqKxmiJhzeVXQ=";
|
||||
}
|
||||
{
|
||||
name = "nuxt-vscode-extentions";
|
||||
publisher = "nuxtr";
|
||||
version = "0.0.7";
|
||||
hash = "sha256-LMShrm9fQHr0M8yXHSziq4NZWfK+n1azc5bjiM972O0=";
|
||||
}
|
||||
{
|
||||
name = "nuxtr-vscode";
|
||||
publisher = "nuxtr";
|
||||
version = "0.2.16";
|
||||
hash = "sha256-DVoq8zdlJ2ch8PCG34f1PRkILym9XdclUHQ9s2B5OME=";
|
||||
}
|
||||
{
|
||||
name = "bun-vscode";
|
||||
publisher = "oven";
|
||||
version = "0.0.26";
|
||||
hash = "sha256-klMkKAorWJj2o015FWbQQfpmYe4JM0UOM+WVh+YPtI4=";
|
||||
}
|
||||
{
|
||||
name = "csv-to-table";
|
||||
publisher = "phplasma";
|
||||
version = "1.4.1";
|
||||
hash = "sha256-npe7cQ4lAZr8HCyQSJmVsCDUJcOhGhL6y1QtUtqUY50=";
|
||||
}
|
||||
{
|
||||
name = "nuxt-snippets";
|
||||
publisher = "praburangki";
|
||||
version = "1.8.0";
|
||||
hash = "sha256-qrWrrDO/Ie/mdygw18C0mrPzNQzZLsd+fapUyTVhc14=";
|
||||
}
|
||||
{
|
||||
name = "bash-debug";
|
||||
publisher = "rogalmic";
|
||||
version = "0.3.9";
|
||||
hash = "sha256-f8FUZCvz/PonqQP9RCNbyQLZPnN5Oce0Eezm/hD19Fg=";
|
||||
}
|
||||
{
|
||||
name = "vs-code-prettier-eslint";
|
||||
publisher = "rvest";
|
||||
version = "6.0.0";
|
||||
hash = "sha256-PogNeKhIlcGxUKrW5gHvFhNluUelWDGHCdg5K+xGXJY=";
|
||||
}
|
||||
{
|
||||
name = "vscode-preview-docs";
|
||||
publisher = "selemondev";
|
||||
version = "0.1.7";
|
||||
hash = "sha256-Q9bEIb2m6cqHtdVjOaNivfYvbc5/VVdabM2NVTwBOFA=";
|
||||
}
|
||||
{
|
||||
name = "svg-preview";
|
||||
publisher = "simonsiefke";
|
||||
version = "2.8.3";
|
||||
hash = "sha256-hIVe1MmkyuHoDa56ZQUsSAGMlKWABoQ0FBOfgZZDbCw=";
|
||||
}
|
||||
{
|
||||
name = "autoimport";
|
||||
publisher = "steoates";
|
||||
version = "1.5.4";
|
||||
hash = "sha256-7iIwJJsoNbtTopc+BQ+195aSCLqdNAaGtMoxShyhBWY=";
|
||||
}
|
||||
{
|
||||
name = "code-spell-checker-polish";
|
||||
publisher = "streetsidesoftware";
|
||||
version = "2.1.3";
|
||||
hash = "sha256-MZeTvK9dO4Kj6hK+afJPWGmnKBtlLrrnoqtUd5s2te0=";
|
||||
}
|
||||
{
|
||||
name = "vscode-pets";
|
||||
publisher = "tonybaloney";
|
||||
version = "1.30.0";
|
||||
hash = "sha256-RxOA6xQ29JuB0NzEqMDkF9W1U+AsvgAOzGbtIUw0WyM=";
|
||||
}
|
||||
{
|
||||
name = "explorer";
|
||||
publisher = "vitest";
|
||||
version = "1.12.1";
|
||||
hash = "sha256-WG2/MWxU/XhSOjXuBoyszpD/HFb8mfrt525povSEES4=";
|
||||
}
|
||||
];
|
||||
})
|
||||
];
|
||||
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
noto-fonts-emoji
|
||||
noto-fonts-cjk-sans
|
||||
font-awesome
|
||||
# Commenting Symbola out to fix install this will need to be fixed or an alternative found.
|
||||
# symbola
|
||||
material-icons
|
||||
];
|
||||
};
|
||||
|
||||
environment.variables = {
|
||||
ZANEYOS_VERSION = "2.2";
|
||||
ZANEYOS = "true";
|
||||
};
|
||||
|
||||
# Extra Portal Configuration
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
wlr.enable = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal
|
||||
];
|
||||
configPackages = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
pkgs.xdg-desktop-portal
|
||||
];
|
||||
};
|
||||
|
||||
# Services to start
|
||||
services = {
|
||||
xserver = {
|
||||
enable = false;
|
||||
xkb = {
|
||||
layout = "${keyboardLayout}";
|
||||
variant = "";
|
||||
};
|
||||
};
|
||||
resolved = {
|
||||
enable = true;
|
||||
dnssec = "true";
|
||||
domains = ["~."]; # "use as default interface for all requests"
|
||||
# (see man resolved.conf)
|
||||
# let Avahi handle mDNS publication
|
||||
extraConfig = ''
|
||||
DNSOverTLS=opportunistic
|
||||
MulticastDNS=resolve
|
||||
'';
|
||||
llmnr = "true";
|
||||
};
|
||||
greetd = {
|
||||
enable = true;
|
||||
vt = 3;
|
||||
settings = {
|
||||
default_session = {
|
||||
# Wayland Desktop Manager is installed only for user ryan via home-manager!
|
||||
user = username;
|
||||
# .wayland-session is a script generated by home-manager, which links to the current wayland compositor(sway/hyprland or others).
|
||||
# with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config here.
|
||||
# command = "$HOME/.wayland-session"; # start a wayland session directly without a login manager
|
||||
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
|
||||
};
|
||||
};
|
||||
};
|
||||
smartd = {
|
||||
enable = false;
|
||||
autodetect = true;
|
||||
};
|
||||
libinput.enable = true;
|
||||
fstrim.enable = true;
|
||||
gvfs.enable = true;
|
||||
openssh.enable = true;
|
||||
flatpak.enable = false;
|
||||
printing = {
|
||||
enable = true;
|
||||
drivers = [
|
||||
# pkgs.hplipWithPlugin
|
||||
];
|
||||
};
|
||||
# auto-cpufreq.enable = true;
|
||||
gnome.gnome-keyring.enable = true;
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
ipp-usb.enable = true;
|
||||
syncthing = {
|
||||
enable = false;
|
||||
user = "${username}";
|
||||
dataDir = "/home/${username}";
|
||||
configDir = "/home/${username}/.config/syncthing";
|
||||
};
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
pulseaudio = {
|
||||
enable = false;
|
||||
extraConfig = "load-module module-combine-sink";
|
||||
};
|
||||
rpcbind.enable = false;
|
||||
nfs.server.enable = false;
|
||||
# ollama = {
|
||||
# enable = true;
|
||||
# package = pkgs.ollama;
|
||||
# # acceleration = "rocm";
|
||||
# # environmentVariables = {
|
||||
# # HCC_AMDGPU_TARGET = "gfx1036";
|
||||
# # };
|
||||
# # rocmOverrideGfx = "10.3.6";
|
||||
# loadModels = [
|
||||
# # "deepseek-r1:1.5b"
|
||||
# # "deepseek-r1:7b"
|
||||
# ];
|
||||
# };
|
||||
# open-webui = {
|
||||
# enable = true;
|
||||
# package = pkgs.open-webui;
|
||||
# };
|
||||
};
|
||||
|
||||
systemd.services.flatpak-repo = {
|
||||
path = [pkgs.flatpak];
|
||||
script = ''
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
'';
|
||||
};
|
||||
|
||||
hardware = {
|
||||
sane = {
|
||||
enable = true;
|
||||
extraBackends = [pkgs.sane-airscan];
|
||||
disabledDefaultBackends = ["escl"];
|
||||
};
|
||||
logitech = {
|
||||
wireless = {
|
||||
enable = false;
|
||||
enableGraphical = false;
|
||||
};
|
||||
};
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
};
|
||||
services.blueman.enable = true;
|
||||
|
||||
# Security / Polkit
|
||||
security = {
|
||||
rtkit.enable = true;
|
||||
polkit = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (
|
||||
subject.isInGroup("users")
|
||||
&& (
|
||||
action.id == "org.freedesktop.login1.reboot" ||
|
||||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
|
||||
action.id == "org.freedesktop.login1.power-off" ||
|
||||
action.id == "org.freedesktop.login1.power-off-multiple-sessions"
|
||||
)
|
||||
)
|
||||
{
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
})
|
||||
'';
|
||||
};
|
||||
pam.services.swaylock = {
|
||||
text = ''
|
||||
auth include login
|
||||
'';
|
||||
};
|
||||
sudo = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
Defaults pwfeedback
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
# Optimization settings and garbage collection automation
|
||||
nix = {
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
substituters = ["https://hyprland.cachix.org"];
|
||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||
};
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||
};
|
||||
|
||||
# Virtualization / Containers
|
||||
virtualisation = {
|
||||
libvirtd.enable = true;
|
||||
docker = {
|
||||
enable = true;
|
||||
package = pkgs.docker;
|
||||
};
|
||||
# podman = {
|
||||
# enable = true;
|
||||
# dockerCompat = true;
|
||||
# defaultNetwork.settings.dns_enabled = true;
|
||||
# };
|
||||
};
|
||||
|
||||
# fileSystems."/mnt/Garand-Library" = {
|
||||
# device = "//192.168.1.156/Garand-Library";
|
||||
# fsType = "cifs";
|
||||
# options = [
|
||||
# "rw" # Odczyt i zapis
|
||||
# "uid=1000" # UID użytkownika montującego (np. 1000 to często UID pierwszego użytkownika)
|
||||
# "gid=100" # GID grupy użytkownika montującego
|
||||
# "file_mode=0775" # Uprawnienia dla plików
|
||||
# "dir_mode=0775" # Uprawnienia dla katalogów
|
||||
# "credentials=/etc/smb-credentials"
|
||||
# ];
|
||||
# };
|
||||
|
||||
# services.openvpn.servers = {
|
||||
# RO-P2P = {
|
||||
# config = ''
|
||||
# config /home/garand_plg/Documents/RO-ovpn-tcp.ovpn
|
||||
# '';
|
||||
# updateResolvConf = true;
|
||||
# };
|
||||
# };
|
||||
|
||||
console.keyMap = "${keyboardLayout}";
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# This value determines the NixOS release from which the default
|
||||
# settings for stateful data, like file locations and database versions
|
||||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||
|
||||
38
hosts/garand-laptop/config/boot.nix
Normal file
38
hosts/garand-laptop/config/boot.nix
Normal file
@@ -0,0 +1,38 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
boot = {
|
||||
# Kernel
|
||||
kernelPackages = pkgs.linuxPackages_zen;
|
||||
# This is for OBS Virtual Cam Support
|
||||
kernelModules = ["v4l2loopback"];
|
||||
extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
|
||||
# Needed For Some Steam Games
|
||||
kernel.sysctl = {
|
||||
"vm.max_map_count" = 2147483642;
|
||||
};
|
||||
# Bootloader.
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
initrd.systemd.dbus.enable = true;
|
||||
# Make /tmp a tmpfs
|
||||
tmp = {
|
||||
useTmpfs = false;
|
||||
tmpfsSize = "30%";
|
||||
};
|
||||
# Appimage Support
|
||||
binfmt.registrations.appimage = {
|
||||
wrapInterpreterInShell = false;
|
||||
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
|
||||
recognitionType = "magic";
|
||||
offset = 0;
|
||||
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
|
||||
magicOrExtension = ''\x7fELF....AI\x02'';
|
||||
};
|
||||
plymouth.enable = true;
|
||||
};
|
||||
}
|
||||
15
hosts/garand-laptop/config/drivers.nix
Normal file
15
hosts/garand-laptop/config/drivers.nix
Normal file
@@ -0,0 +1,15 @@
|
||||
{...}: {
|
||||
# Extra Module Options
|
||||
drivers = {
|
||||
amdgpu.enable = true;
|
||||
nvidia.enable = false;
|
||||
nvidia-prime = {
|
||||
enable = false;
|
||||
intelBusID = "";
|
||||
nvidiaBusID = "";
|
||||
};
|
||||
intel.enable = false;
|
||||
};
|
||||
vm.guest-services.enable = false;
|
||||
local.hardware-clock.enable = false;
|
||||
}
|
||||
23
hosts/garand-laptop/config/hardware.nix
Normal file
23
hosts/garand-laptop/config/hardware.nix
Normal file
@@ -0,0 +1,23 @@
|
||||
{pkgs, ...}: {
|
||||
hardware = {
|
||||
sane = {
|
||||
enable = true;
|
||||
extraBackends = [pkgs.sane-airscan];
|
||||
disabledDefaultBackends = ["escl"];
|
||||
};
|
||||
logitech = {
|
||||
wireless = {
|
||||
enable = false;
|
||||
enableGraphical = false;
|
||||
};
|
||||
};
|
||||
bluetooth = {
|
||||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
graphics = {
|
||||
enable = true;
|
||||
enable32Bit = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
19
hosts/garand-laptop/config/localization.nix
Normal file
19
hosts/garand-laptop/config/localization.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{...}: {
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/Warsaw";
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "pl_PL.UTF-8";
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "pl_PL.UTF-8";
|
||||
LC_IDENTIFICATION = "pl_PL.UTF-8";
|
||||
LC_MEASUREMENT = "pl_PL.UTF-8";
|
||||
LC_MONETARY = "pl_PL.UTF-8";
|
||||
LC_NAME = "pl_PL.UTF-8";
|
||||
LC_NUMERIC = "pl_PL.UTF-8";
|
||||
LC_PAPER = "pl_PL.UTF-8";
|
||||
LC_TELEPHONE = "pl_PL.UTF-8";
|
||||
LC_TIME = "pl_PL.UTF-8";
|
||||
};
|
||||
};
|
||||
}
|
||||
19
hosts/garand-laptop/config/networking.nix
Normal file
19
hosts/garand-laptop/config/networking.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
host,
|
||||
options,
|
||||
...
|
||||
}: {
|
||||
# Enable networking
|
||||
networking = {
|
||||
nameservers = ["194.242.2.4" "217.12.221.61" "2a07:e340::4"];
|
||||
networkmanager.enable = true;
|
||||
hostName = host;
|
||||
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
|
||||
};
|
||||
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
}
|
||||
59
hosts/garand-laptop/config/nixpkgs.nix
Normal file
59
hosts/garand-laptop/config/nixpkgs.nix
Normal file
@@ -0,0 +1,59 @@
|
||||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# Optimization settings and garbage collection automation
|
||||
nix = {
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
substituters = ["https://hyprland.cachix.org"];
|
||||
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
|
||||
};
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
|
||||
};
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
pulseaudio = true;
|
||||
};
|
||||
|
||||
# Extra Portal Configuration
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
wlr.enable = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
];
|
||||
config = {
|
||||
common = {
|
||||
default = [
|
||||
"gtk"
|
||||
"hyprland"
|
||||
];
|
||||
};
|
||||
};
|
||||
configPackages = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
];
|
||||
};
|
||||
|
||||
environment = {
|
||||
variables = {
|
||||
ZANEYOS_VERSION = "2.2";
|
||||
ZANEYOS = "true";
|
||||
};
|
||||
};
|
||||
}
|
||||
18
hosts/garand-laptop/config/nixpkgs/clients.nix
Normal file
18
hosts/garand-laptop/config/nixpkgs/clients.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
# Klienty
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# rustdesk
|
||||
nextcloud-client
|
||||
plexamp
|
||||
bitwarden-desktop
|
||||
tutanota-desktop
|
||||
discord
|
||||
slack
|
||||
ungoogled-chromium
|
||||
docker-client
|
||||
anki-bin
|
||||
onlyoffice-bin
|
||||
freetube
|
||||
mattermost-desktop
|
||||
];
|
||||
}
|
||||
246
hosts/garand-laptop/config/nixpkgs/codium.nix
Normal file
246
hosts/garand-laptop/config/nixpkgs/codium.nix
Normal file
@@ -0,0 +1,246 @@
|
||||
{pkgs, ...}: {
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
(vscode-with-extensions.override {
|
||||
vscode = vscodium;
|
||||
vscodeExtensions = with vscode-extensions;
|
||||
[
|
||||
batisteo.vscode-django
|
||||
bradlc.vscode-tailwindcss
|
||||
christian-kohler.npm-intellisense
|
||||
christian-kohler.path-intellisense
|
||||
continue.continue
|
||||
davidanson.vscode-markdownlint
|
||||
dbaeumer.vscode-eslint
|
||||
donjayamanne.githistory
|
||||
esbenp.prettier-vscode
|
||||
ethansk.restore-terminals
|
||||
formulahendry.auto-close-tag
|
||||
formulahendry.auto-rename-tag
|
||||
gruntfuggly.todo-tree
|
||||
jnoortheen.nix-ide
|
||||
mechatroner.rainbow-csv
|
||||
ms-azuretools.vscode-docker
|
||||
njpwerner.autodocstring
|
||||
octref.vetur
|
||||
oderwat.indent-rainbow
|
||||
shd101wyy.markdown-preview-enhanced
|
||||
streetsidesoftware.code-spell-checker
|
||||
supermaven.supermaven
|
||||
tomoki1207.pdf
|
||||
visualstudioexptteam.intellicode-api-usage-examples
|
||||
visualstudioexptteam.vscodeintellicode
|
||||
vscode-icons-team.vscode-icons
|
||||
vue.volar
|
||||
wholroyd.jinja
|
||||
yoavbls.pretty-ts-errors
|
||||
tamasfe.even-better-toml
|
||||
ms-ceintl.vscode-language-pack-pl
|
||||
rust-lang.rust-analyzer
|
||||
fill-labs.dependi
|
||||
usernamehw.errorlens
|
||||
bierner.docs-view
|
||||
stkb.rewrap
|
||||
ms-vscode.live-server
|
||||
vadimcn.vscode-lldb
|
||||
batisteo.vscode-django
|
||||
vitaliymaz.vscode-svg-previewer
|
||||
]
|
||||
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
{
|
||||
name = "goto-alias";
|
||||
publisher = "antfu";
|
||||
version = "0.2.1";
|
||||
hash = "sha256-BJBJVG/zW2BW6K0UqQ4EE12VVIxW3g+z5CecZXRPIrM=";
|
||||
}
|
||||
{
|
||||
name = "vite";
|
||||
publisher = "antfu";
|
||||
version = "0.2.5";
|
||||
hash = "sha256-F3uaqoaLXLE7M8OPzNIIUSraTBeRMwtjxrbgQyMIyZE=";
|
||||
}
|
||||
{
|
||||
name = "django-html";
|
||||
publisher = "bibhasdn";
|
||||
version = "1.3.0";
|
||||
hash = "sha256-7xVJVcjmwl6917lqkTa0KFwMLkAvHkNT2wVML14gVCk=";
|
||||
}
|
||||
{
|
||||
name = "one-dark-pro-monokai-darker";
|
||||
publisher = "eserozvataf";
|
||||
version = "1.1.0";
|
||||
hash = "sha256-jUjBiy0CD7jw2WBMvM3h8bEC2ySEuj7532dC3v9lpyI=";
|
||||
}
|
||||
{
|
||||
name = "bootstrap-intellisense";
|
||||
publisher = "hossaini";
|
||||
version = "3.0.2";
|
||||
hash = "sha256-stZfbh42HncdRzFZ9ShumZ9Tuery9RF9c8rk3TD3P2g=";
|
||||
}
|
||||
{
|
||||
name = "tab-indent-space-align";
|
||||
publisher = "j-zeppenfeld";
|
||||
version = "0.0.3";
|
||||
hash = "sha256-+WEdYJOVWW7YumfzLkvZmrnpUiC85oLsG1BKMwL1NHc=";
|
||||
}
|
||||
{
|
||||
name = "bun-lockb";
|
||||
publisher = "jaaxxx";
|
||||
version = "0.0.7";
|
||||
hash = "sha256-CkdH/luVTFycRn4Td6ovFnEQep+tVEIXsyUjhfJwfN4=";
|
||||
}
|
||||
{
|
||||
name = "search-node-modules";
|
||||
publisher = "jasonnutter";
|
||||
version = "1.3.0";
|
||||
hash = "sha256-X2CkCVF46McnXDlASlRHKixlAzR+hU4ys8A8JsbpfYI=";
|
||||
}
|
||||
{
|
||||
name = "polacode-2019";
|
||||
publisher = "jeff-hykin";
|
||||
version = "0.6.1";
|
||||
hash = "sha256-SbfsD28gaVHAmJskUuc1Q8kA47jrVa3OO5Ur7ULk3jI=";
|
||||
}
|
||||
{
|
||||
name = "vsc-python-indent";
|
||||
publisher = "kevinrose";
|
||||
version = "1.21.0";
|
||||
hash = "sha256-SvJhVG8sofzV0PebZG4IIORX3AcfmErDQ00tRF9fk/4=";
|
||||
}
|
||||
{
|
||||
name = "json-to-ts";
|
||||
publisher = "mariusalchimavicius";
|
||||
version = "1.8.0";
|
||||
hash = "sha256-WoSycVtUAkVXv7BDuh+jFbnaU1IdVLvVjOYuIuUp79M=";
|
||||
}
|
||||
{
|
||||
name = "inline-fold-new";
|
||||
publisher = "ctf0";
|
||||
version = "0.0.2";
|
||||
hash = "sha256-DpXTBYN1Ohh3ZvvpUtas0G99fZcimsp1NL7mpIC07yk=";
|
||||
}
|
||||
{
|
||||
name = "mdc";
|
||||
publisher = "nuxt";
|
||||
version = "0.3.1";
|
||||
hash = "sha256-YJ+7gzDjA8kzxBwGLpEmfx0erJdgAntWc2OrK2zp9DM=";
|
||||
}
|
||||
{
|
||||
name = "nuxtr-vscode";
|
||||
publisher = "nuxtr";
|
||||
version = "0.2.16";
|
||||
hash = "sha256-DVoq8zdlJ2ch8PCG34f1PRkILym9XdclUHQ9s2B5OME=";
|
||||
}
|
||||
{
|
||||
name = "bun-vscode";
|
||||
publisher = "oven";
|
||||
version = "0.0.28";
|
||||
hash = "sha256-WlGqqKbfrV0gqCCdVo/UFF+Gnxhq0TNJ4LuHwFaFYXA=";
|
||||
}
|
||||
{
|
||||
name = "csv-to-table";
|
||||
publisher = "phplasma";
|
||||
version = "1.4.1";
|
||||
hash = "sha256-npe7cQ4lAZr8HCyQSJmVsCDUJcOhGhL6y1QtUtqUY50=";
|
||||
}
|
||||
{
|
||||
name = "nuxt-snippets";
|
||||
publisher = "praburangki";
|
||||
version = "1.8.0";
|
||||
hash = "sha256-qrWrrDO/Ie/mdygw18C0mrPzNQzZLsd+fapUyTVhc14=";
|
||||
}
|
||||
{
|
||||
name = "bash-debug";
|
||||
publisher = "rogalmic";
|
||||
version = "0.3.9";
|
||||
hash = "sha256-f8FUZCvz/PonqQP9RCNbyQLZPnN5Oce0Eezm/hD19Fg=";
|
||||
}
|
||||
{
|
||||
name = "vs-code-prettier-eslint";
|
||||
publisher = "rvest";
|
||||
version = "6.0.0";
|
||||
hash = "sha256-PogNeKhIlcGxUKrW5gHvFhNluUelWDGHCdg5K+xGXJY=";
|
||||
}
|
||||
{
|
||||
name = "vscode-preview-docs";
|
||||
publisher = "selemondev";
|
||||
version = "0.1.7";
|
||||
hash = "sha256-Q9bEIb2m6cqHtdVjOaNivfYvbc5/VVdabM2NVTwBOFA=";
|
||||
}
|
||||
{
|
||||
name = "autoimport";
|
||||
publisher = "steoates";
|
||||
version = "1.5.4";
|
||||
hash = "sha256-7iIwJJsoNbtTopc+BQ+195aSCLqdNAaGtMoxShyhBWY=";
|
||||
}
|
||||
{
|
||||
name = "code-spell-checker-polish";
|
||||
publisher = "streetsidesoftware";
|
||||
version = "2.1.3";
|
||||
hash = "sha256-MZeTvK9dO4Kj6hK+afJPWGmnKBtlLrrnoqtUd5s2te0=";
|
||||
}
|
||||
{
|
||||
name = "vscode-pets";
|
||||
publisher = "tonybaloney";
|
||||
version = "1.30.0";
|
||||
hash = "sha256-RxOA6xQ29JuB0NzEqMDkF9W1U+AsvgAOzGbtIUw0WyM=";
|
||||
}
|
||||
{
|
||||
name = "explorer";
|
||||
publisher = "vitest";
|
||||
version = "1.17.0";
|
||||
hash = "sha256-7OePMFsWIyrPkAW/+SRiOoowluLMEszEjWmBsW0LPpc=";
|
||||
}
|
||||
{
|
||||
name = "prettify-json";
|
||||
publisher = "mohsen1";
|
||||
version = "0.0.3";
|
||||
hash = "sha256-lvds+lFDzt1s6RikhrnAKJipRHU+Dk85ZO49d1sA8uo=";
|
||||
}
|
||||
{
|
||||
name = "uv-toolkit";
|
||||
publisher = "the0807";
|
||||
version = "0.0.2";
|
||||
hash = "sha256-OXHUwynWm4RqJYjcv5qXt5DyjFDxtNjZFNpnd22gUgg=";
|
||||
}
|
||||
{
|
||||
name = "kylin-python";
|
||||
publisher = "kylinideteam";
|
||||
version = "0.4.2";
|
||||
hash = "sha256-LhOsIvECrxLCnRjUVffS4G4fFsdP70iP/twoNoto354=";
|
||||
}
|
||||
{
|
||||
name = "rust-flash-snippets";
|
||||
publisher = "lorenzopirro";
|
||||
version = "3.1.1";
|
||||
hash = "sha256-L8x/OqbrsKDmyphzV3CDpoZ27rTnPS0U1YGv9KakW+U=";
|
||||
}
|
||||
{
|
||||
name = "rustowl-vscode";
|
||||
publisher = "cordx56";
|
||||
version = "0.3.4";
|
||||
hash = "sha256-sM4CxQfdtDkZg5B7gxw66k7ZpIfHQFORIukHRpg0+S8=";
|
||||
}
|
||||
{
|
||||
name = "vscode-coverage-gutters";
|
||||
publisher = "ryanluker";
|
||||
version = "2.13.0";
|
||||
hash = "sha256-qgPKGikqNIeZkKfd0P0keAdxRl9XNzvEJKQy58eaUZk=";
|
||||
}
|
||||
{
|
||||
name = "vscode-change-case";
|
||||
publisher = "hjdarnel";
|
||||
version = "1.4.0";
|
||||
hash = "sha256-6LS4MrG16054DQkPmr7BQJeekpEtcL2NtRe0Ckfq2w4=";
|
||||
}
|
||||
{
|
||||
name = "vscode-bevy-inspector";
|
||||
publisher = "splo";
|
||||
version = "0.3.0";
|
||||
hash = "sha256-f0FAgQ0wm3FYPz5qpMHWHnTf3un0xw+5gcyBG7PYM2E=";
|
||||
}
|
||||
];
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
40
hosts/garand-laptop/config/nixpkgs/fundamentals.nix
Normal file
40
hosts/garand-laptop/config/nixpkgs/fundamentals.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
# Fundamentalne programy dla systemu
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
killall
|
||||
eza
|
||||
git
|
||||
libnotify
|
||||
v4l-utils
|
||||
ydotool
|
||||
duf
|
||||
ncdu
|
||||
wl-clipboard
|
||||
pciutils
|
||||
ffmpeg
|
||||
socat
|
||||
ripgrep
|
||||
lshw
|
||||
bat
|
||||
pkg-config
|
||||
meson
|
||||
ninja
|
||||
brightnessctl
|
||||
swappy
|
||||
appimage-run
|
||||
networkmanagerapplet
|
||||
yad
|
||||
inxi
|
||||
playerctl
|
||||
nh
|
||||
nixfmt-rfc-style
|
||||
file-roller
|
||||
tree
|
||||
nixd
|
||||
alejandra
|
||||
docker
|
||||
docker-compose
|
||||
cifs-utils
|
||||
];
|
||||
}
|
||||
14
hosts/garand-laptop/config/nixpkgs/gaming.nix
Normal file
14
hosts/garand-laptop/config/nixpkgs/gaming.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
# Narzędzia do gier
|
||||
{
|
||||
pkgs,
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
wineWowPackages.waylandFull # wine64
|
||||
lutris
|
||||
space-cadet-pinball
|
||||
inputs.prismlauncher-cracked.packages.${system}.default
|
||||
];
|
||||
}
|
||||
16
hosts/garand-laptop/config/nixpkgs/multimedia.nix
Normal file
16
hosts/garand-laptop/config/nixpkgs/multimedia.nix
Normal file
@@ -0,0 +1,16 @@
|
||||
# Programy multimedialne
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
swww
|
||||
grim
|
||||
slurp
|
||||
swaynotificationcenter
|
||||
imv
|
||||
mpv
|
||||
gimp
|
||||
pavucontrol
|
||||
vlc
|
||||
kdePackages.kdenlive
|
||||
obs-studio
|
||||
];
|
||||
}
|
||||
18
hosts/garand-laptop/config/nixpkgs/tools.nix
Normal file
18
hosts/garand-laptop/config/nixpkgs/tools.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
# Narzędzia systemowe
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
lm_sensors
|
||||
unzip
|
||||
unrar
|
||||
hyprpicker
|
||||
virt-viewer
|
||||
libvirt
|
||||
greetd.tuigreet
|
||||
galculator
|
||||
lazydocker
|
||||
# lazygit
|
||||
docker-slim
|
||||
dex
|
||||
exercism
|
||||
];
|
||||
}
|
||||
14
hosts/garand-laptop/config/nixpkgs/tty.nix
Normal file
14
hosts/garand-laptop/config/nixpkgs/tty.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
# Aplikacje terminalowe
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
gambit-chess
|
||||
tty-solitaire
|
||||
cmatrix
|
||||
cowsay
|
||||
sl
|
||||
fortune
|
||||
ookla-speedtest
|
||||
neohtop
|
||||
toot
|
||||
];
|
||||
}
|
||||
123
hosts/garand-laptop/config/programs.nix
Normal file
123
hosts/garand-laptop/config/programs.nix
Normal file
@@ -0,0 +1,123 @@
|
||||
{pkgs, ...}: {
|
||||
programs = {
|
||||
starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
add_newline = false;
|
||||
buf = {
|
||||
symbol = " ";
|
||||
};
|
||||
c = {
|
||||
symbol = " ";
|
||||
};
|
||||
directory = {
|
||||
read_only = " ";
|
||||
};
|
||||
docker_context = {
|
||||
symbol = " ";
|
||||
};
|
||||
fossil_branch = {
|
||||
symbol = " ";
|
||||
};
|
||||
git_branch = {
|
||||
symbol = " ";
|
||||
};
|
||||
golang = {
|
||||
symbol = " ";
|
||||
};
|
||||
hg_branch = {
|
||||
symbol = " ";
|
||||
};
|
||||
hostname = {
|
||||
ssh_symbol = " ";
|
||||
};
|
||||
lua = {
|
||||
symbol = " ";
|
||||
};
|
||||
memory_usage = {
|
||||
symbol = " ";
|
||||
};
|
||||
meson = {
|
||||
symbol = " ";
|
||||
};
|
||||
nim = {
|
||||
symbol = " ";
|
||||
};
|
||||
nix_shell = {
|
||||
symbol = " ";
|
||||
};
|
||||
nodejs = {
|
||||
symbol = " ";
|
||||
};
|
||||
ocaml = {
|
||||
symbol = " ";
|
||||
};
|
||||
package = {
|
||||
symbol = " ";
|
||||
};
|
||||
python = {
|
||||
symbol = " ";
|
||||
};
|
||||
rust = {
|
||||
symbol = " ";
|
||||
};
|
||||
swift = {
|
||||
symbol = " ";
|
||||
};
|
||||
zig = {
|
||||
symbol = " ";
|
||||
};
|
||||
};
|
||||
};
|
||||
hyprland = {
|
||||
enable = true;
|
||||
withUWSM = true;
|
||||
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
dconf.enable = true;
|
||||
seahorse.enable = true;
|
||||
fuse.userAllowOther = true;
|
||||
mtr.enable = true;
|
||||
gnupg.agent = {
|
||||
enable = true;
|
||||
enableSSHSupport = true;
|
||||
};
|
||||
virt-manager.enable = true;
|
||||
steam = {
|
||||
enable = true;
|
||||
gamescopeSession.enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
dedicatedServer.openFirewall = true;
|
||||
extraCompatPackages = with pkgs; [
|
||||
proton-ge-bin
|
||||
];
|
||||
};
|
||||
gamescope = {
|
||||
enable = true;
|
||||
capSysNice = true;
|
||||
};
|
||||
gamemode.enable = true;
|
||||
auto-cpufreq = {
|
||||
enable = true;
|
||||
settings = {
|
||||
charger = {
|
||||
governor = "performance";
|
||||
turbo = "auto";
|
||||
};
|
||||
|
||||
battery = {
|
||||
governor = "powersave";
|
||||
turbo = "auto";
|
||||
};
|
||||
};
|
||||
};
|
||||
thunar = {
|
||||
enable = true;
|
||||
plugins = with pkgs.xfce; [
|
||||
thunar-archive-plugin
|
||||
thunar-volman
|
||||
];
|
||||
};
|
||||
kdeconnect.enable = true;
|
||||
};
|
||||
}
|
||||
40
hosts/garand-laptop/config/security.nix
Normal file
40
hosts/garand-laptop/config/security.nix
Normal file
@@ -0,0 +1,40 @@
|
||||
{...}: {
|
||||
# Security / Polkit
|
||||
security = {
|
||||
rtkit.enable = true;
|
||||
polkit = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if (
|
||||
subject.isInGroup("users")
|
||||
&& (
|
||||
action.id == "org.freedesktop.login1.reboot" ||
|
||||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
|
||||
action.id == "org.freedesktop.login1.power-off" ||
|
||||
action.id == "org.freedesktop.login1.power-off-multiple-sessions"
|
||||
)
|
||||
)
|
||||
{
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
})
|
||||
'';
|
||||
};
|
||||
pam.services.swaylock = {
|
||||
text = ''
|
||||
auth include login
|
||||
'';
|
||||
};
|
||||
sudo = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
Defaults pwfeedback
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
users = {
|
||||
mutableUsers = true;
|
||||
};
|
||||
}
|
||||
106
hosts/garand-laptop/config/services.nix
Normal file
106
hosts/garand-laptop/config/services.nix
Normal file
@@ -0,0 +1,106 @@
|
||||
{
|
||||
pkgs,
|
||||
username,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../variables.nix) keyboardLayout;
|
||||
in {
|
||||
# Services to start
|
||||
services = {
|
||||
blueman.enable = true;
|
||||
xserver = {
|
||||
enable = false;
|
||||
xkb = {
|
||||
layout = "${keyboardLayout}";
|
||||
variant = "";
|
||||
};
|
||||
};
|
||||
resolved = {
|
||||
enable = true;
|
||||
dnssec = "true";
|
||||
domains = ["~."]; # "use as default interface for all requests"
|
||||
# (see man resolved.conf)
|
||||
# let Avahi handle mDNS publication
|
||||
extraConfig = ''
|
||||
DNSOverTLS=opportunistic
|
||||
MulticastDNS=resolve
|
||||
'';
|
||||
llmnr = "true";
|
||||
};
|
||||
greetd = {
|
||||
enable = true;
|
||||
settings = {
|
||||
default_session = {
|
||||
# Wayland Desktop Manager is installed only for user ryan via home-manager!
|
||||
user = username;
|
||||
# .wayland-session is a script generated by home-manager, which links to the current wayland compositor(sway/hyprland or others).
|
||||
# with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config here.
|
||||
# command = "$HOME/.wayland-session"; # start a wayland session directly without a login manager
|
||||
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
|
||||
};
|
||||
};
|
||||
};
|
||||
smartd = {
|
||||
enable = false;
|
||||
autodetect = true;
|
||||
};
|
||||
libinput = {
|
||||
enable = true;
|
||||
mouse = {
|
||||
accelProfile = "flat";
|
||||
};
|
||||
touchpad = {
|
||||
accelProfile = "flat";
|
||||
};
|
||||
};
|
||||
fstrim.enable = true;
|
||||
gvfs.enable = true;
|
||||
tumbler.enable = true;
|
||||
openssh.enable = true;
|
||||
flatpak.enable = false;
|
||||
printing = {
|
||||
enable = true;
|
||||
# drivers = with pkgs; [
|
||||
# # hplipWithPlugin
|
||||
# ];
|
||||
};
|
||||
gnome = {
|
||||
evolution-data-server.enable = true;
|
||||
gnome-online-accounts.enable = true;
|
||||
gnome-keyring.enable = true;
|
||||
};
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
ipp-usb.enable = true;
|
||||
syncthing = {
|
||||
enable = false;
|
||||
user = "${username}";
|
||||
dataDir = "/home/${username}";
|
||||
configDir = "/home/${username}/.config/syncthing";
|
||||
};
|
||||
pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
pulseaudio = {
|
||||
enable = false;
|
||||
extraConfig = "load-module module-combine-sink";
|
||||
};
|
||||
rpcbind.enable = false;
|
||||
nfs.server.enable = false;
|
||||
};
|
||||
|
||||
console.keyMap = "${keyboardLayout}";
|
||||
|
||||
systemd.services.flatpak-repo = {
|
||||
path = [pkgs.flatpak];
|
||||
script = ''
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
'';
|
||||
};
|
||||
}
|
||||
63
hosts/garand-laptop/config/stylix.nix
Normal file
63
hosts/garand-laptop/config/stylix.nix
Normal file
@@ -0,0 +1,63 @@
|
||||
{pkgs, ...}: {
|
||||
# Styling Options
|
||||
stylix = {
|
||||
enable = true;
|
||||
image = ../../../config/wallpapers/attack-on-titan-mikasa-ackerman.jpg;
|
||||
# base16Scheme = {
|
||||
# base00 = "232136";
|
||||
# base01 = "2a273f";
|
||||
# base02 = "393552";
|
||||
# base03 = "6e6a86";
|
||||
# base04 = "908caa";
|
||||
# base05 = "e0def4";
|
||||
# base06 = "e0def4";
|
||||
# base07 = "56526e";
|
||||
# base08 = "eb6f92";
|
||||
# base09 = "f6c177";
|
||||
# base0A = "ea9a97";
|
||||
# base0B = "3e8fb0";
|
||||
# base0C = "9ccfd8";
|
||||
# base0D = "c4a7e7";
|
||||
# base0E = "f6c177";
|
||||
# base0F = "56526e";
|
||||
# };
|
||||
polarity = "dark";
|
||||
opacity.terminal = 0.8;
|
||||
cursor = {
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Ice";
|
||||
size = 24;
|
||||
};
|
||||
fonts = {
|
||||
monospace = {
|
||||
package = pkgs.nerd-fonts.fira-mono;
|
||||
name = "FiraCode Nerd Fonts Mono";
|
||||
};
|
||||
sansSerif = {
|
||||
package = pkgs.nerd-fonts.fira-code;
|
||||
name = "FiraCode Nerd Fonts";
|
||||
};
|
||||
serif = {
|
||||
package = pkgs.nerd-fonts.fira-code;
|
||||
name = "FiraCode Nerd Fonts";
|
||||
};
|
||||
sizes = {
|
||||
applications = 12;
|
||||
terminal = 15;
|
||||
desktop = 11;
|
||||
popups = 12;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fonts = {
|
||||
packages = with pkgs; [
|
||||
noto-fonts-emoji
|
||||
noto-fonts-cjk-sans
|
||||
font-awesome
|
||||
# Commenting Symbola out to fix install this will need to be fixed or an alternative found.
|
||||
# symbola
|
||||
material-icons
|
||||
];
|
||||
};
|
||||
}
|
||||
10
hosts/garand-laptop/config/virtualization.nix
Normal file
10
hosts/garand-laptop/config/virtualization.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{pkgs, ...}: {
|
||||
# Virtualization / Containers
|
||||
virtualisation = {
|
||||
libvirtd.enable = true;
|
||||
docker = {
|
||||
enable = true;
|
||||
package = pkgs.docker;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,17 +1,4 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
username,
|
||||
host,
|
||||
...
|
||||
}: let
|
||||
inherit (import ./variables.nix) gitUsername gitEmail;
|
||||
in {
|
||||
# Home Manager Settings
|
||||
home.username = "${username}";
|
||||
home.homeDirectory = "/home/${username}";
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
{...}: {
|
||||
# Import Program Configurations
|
||||
imports = [
|
||||
../../config/emoji.nix
|
||||
@@ -24,242 +11,12 @@ in {
|
||||
../../config/waybar.nix
|
||||
../../config/wlogout.nix
|
||||
../../config/fastfetch
|
||||
|
||||
./home/home.nix
|
||||
./home/misc.nix
|
||||
./home/programs.nix
|
||||
./home/programs.librewolf.nix
|
||||
./home/services.nix
|
||||
./home/styles.nix
|
||||
];
|
||||
|
||||
# Place Files Inside Home Directory
|
||||
home.file = {
|
||||
"Pictures/Wallpapers".source = ../../config/wallpapers;
|
||||
"Pictures/Wallpapers".recursive = true;
|
||||
".config/wlogout/icons".source = ../../config/wlogout;
|
||||
".config/wlogout/icons".recursive = true;
|
||||
".face.icon".source = ../../config/face.jpg;
|
||||
".config/face.jpg".source = ../../config/face.jpg;
|
||||
".config/swappy/config".text = ''
|
||||
[Default]
|
||||
save_dir=/home/${username}/Pictures/Screenshots
|
||||
save_filename_format=swappy-%Y%m%d-%H%M%S.png
|
||||
show_panel=false
|
||||
line_size=5
|
||||
text_size=20
|
||||
text_font=Ubuntu
|
||||
paint_mode=brush
|
||||
early_exit=true
|
||||
fill_shape=false
|
||||
'';
|
||||
};
|
||||
|
||||
# Install & Configure Git
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "${gitUsername}";
|
||||
userEmail = "${gitEmail}";
|
||||
};
|
||||
|
||||
# Create XDG Dirs
|
||||
xdg = {
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
};
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = ["qemu:///system"];
|
||||
uris = ["qemu:///system"];
|
||||
};
|
||||
};
|
||||
|
||||
# Styling Options
|
||||
stylix = {
|
||||
targets = {
|
||||
waybar = {
|
||||
enable = false;
|
||||
};
|
||||
rofi = {
|
||||
enable = false;
|
||||
};
|
||||
hyprland = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
gtk = {
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
gtk3.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
};
|
||||
gtk4.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
style.name = lib.mkDefault "adwaita-dark";
|
||||
platformTheme.name = lib.mkDefault "gtk3";
|
||||
};
|
||||
|
||||
# Scripts
|
||||
home.packages = [
|
||||
(import ../../scripts/emopicker9000.nix {inherit pkgs;})
|
||||
(import ../../scripts/task-waybar.nix {inherit pkgs;})
|
||||
(import ../../scripts/squirtle.nix {inherit pkgs;})
|
||||
(import ../../scripts/nvidia-offload.nix {inherit pkgs;})
|
||||
(import ../../scripts/wallsetter.nix {
|
||||
inherit pkgs;
|
||||
inherit username;
|
||||
})
|
||||
(import ../../scripts/web-search.nix {inherit pkgs;})
|
||||
(import ../../scripts/rofi-launcher.nix {inherit pkgs;})
|
||||
(import ../../scripts/screenshootin.nix {inherit pkgs;})
|
||||
(import ../../scripts/list-hypr-bindings.nix {
|
||||
inherit pkgs;
|
||||
inherit host;
|
||||
})
|
||||
];
|
||||
|
||||
services = {
|
||||
hypridle = {
|
||||
settings = {
|
||||
general = {
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||
ignore_dbus_inhibit = false;
|
||||
lock_cmd = "hyprlock";
|
||||
};
|
||||
listener = [
|
||||
{
|
||||
timeout = 900;
|
||||
on-timeout = "hyprlock";
|
||||
}
|
||||
{
|
||||
timeout = 1200;
|
||||
on-timeout = "hyprctl dispatch dpms off";
|
||||
on-resume = "hyprctl dispatch dpms on";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs = {
|
||||
gh.enable = true;
|
||||
btop = {
|
||||
enable = true;
|
||||
};
|
||||
kitty = {
|
||||
enable = true;
|
||||
package = pkgs.kitty;
|
||||
settings = {
|
||||
scrollback_lines = 2000;
|
||||
wheel_scroll_min_lines = 1;
|
||||
window_padding_width = 4;
|
||||
confirm_os_window_close = 0;
|
||||
};
|
||||
extraConfig = ''
|
||||
tab_bar_style fade
|
||||
tab_fade 1
|
||||
active_tab_font_style bold
|
||||
inactive_tab_font_style bold
|
||||
'';
|
||||
};
|
||||
starship = {
|
||||
enable = true;
|
||||
package = pkgs.starship;
|
||||
};
|
||||
bash = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
profileExtra = ''
|
||||
#if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
|
||||
# exec Hyprland
|
||||
#fi
|
||||
'';
|
||||
initExtra = ''
|
||||
fastfetch
|
||||
if [ -f $HOME/.bashrc-personal ]; then
|
||||
source $HOME/.bashrc-personal
|
||||
fi
|
||||
fc
|
||||
'';
|
||||
shellAliases = {
|
||||
os-sw = "sudo nixos-rebuild switch --flake ~/zaneyos";
|
||||
os-bt = "sudo nixos-rebuild boot --flake ~/zaneyos";
|
||||
os-ts = "sudo nixos-rebuild test --flake ~/zaneyos";
|
||||
os-up = "sudo nix flake update";
|
||||
os-upg = "sudo nix flake update && sudo nixos-rebuild switch --flake ~/zaneyos";
|
||||
os-up-np = "sudo nix flake update --update-input nixpkgs";
|
||||
os-up-hm = "sudo nix flake update --update-input home-manager";
|
||||
os-up-sx = "sudo nix flake update --update-input stylix";
|
||||
os-up-af = "sudo nix flake update --update-input auto-cpufreq";
|
||||
fr = "nh os switch --hostname ${host} /home/${username}/zaneyos";
|
||||
fu = "nh os switch --hostname ${host} --update /home/${username}/zaneyos";
|
||||
hypr-cli = "hyprctl clients";
|
||||
zu = "sh <(curl -L https://gitlab.com/Zaney/zaneyos/-/raw/main/install-zaneyos.sh)";
|
||||
ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
|
||||
n = "nano";
|
||||
f = "fuck";
|
||||
cat = "bat";
|
||||
st = "speedtest";
|
||||
ls = "eza --icons";
|
||||
ll = "eza -lh --icons --grid --group-directories-first";
|
||||
la = "eza -lah --icons --grid --group-directories-first";
|
||||
ssh-server = "ssh garand_plg@192.168.1.156 -p 556 -i ~/.ssh/hp-t640-homeserver";
|
||||
fc = "fortune | cowsay";
|
||||
terminal = "cat /home/garand_plg/Documents/terminal.txt";
|
||||
e-terminal = "nano /home/garand_plg/Documents/terminal.txt";
|
||||
mkgidf = "git diff > git-diff.txt";
|
||||
".." = "cd ..";
|
||||
kys = "shutdown now";
|
||||
};
|
||||
};
|
||||
home-manager.enable = true;
|
||||
hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
disable_loading_bar = true;
|
||||
grace = 10;
|
||||
hide_cursor = true;
|
||||
no_fade_in = false;
|
||||
};
|
||||
background = lib.mkDefault [
|
||||
{
|
||||
path = "/home/${username}/Pictures/Wallpapers/attack-on-titan-mikasa-ackerman.jpg";
|
||||
blur_passes = 3;
|
||||
blur_size = 8;
|
||||
}
|
||||
];
|
||||
image = [
|
||||
{
|
||||
path = "/home/${username}/.config/face.jpg";
|
||||
size = 150;
|
||||
border_size = 4;
|
||||
border_color = "rgb(0C96F9)";
|
||||
rounding = -1; # Negative means circle
|
||||
position = "0, 200";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
input-field = lib.mkDefault [
|
||||
{
|
||||
size = "200, 50";
|
||||
position = "0, -80";
|
||||
monitor = "";
|
||||
dots_center = true;
|
||||
fade_on_empty = false;
|
||||
font_color = "rgb(CFE6F4)";
|
||||
inner_color = "rgb(657DC2)";
|
||||
outer_color = "rgb(0D0E15)";
|
||||
outline_thickness = 5;
|
||||
placeholder_text = "Password...";
|
||||
shadow_passes = 2;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
64
hosts/garand-laptop/home/home.nix
Normal file
64
hosts/garand-laptop/home/home.nix
Normal file
@@ -0,0 +1,64 @@
|
||||
{
|
||||
pkgs,
|
||||
username,
|
||||
host,
|
||||
...
|
||||
}: let
|
||||
dexApps = import ../../../scripts/dex-apps.nix {inherit pkgs;};
|
||||
in {
|
||||
# Home Manager Settings
|
||||
home = {
|
||||
username = "${username}";
|
||||
homeDirectory = "/home/${username}";
|
||||
stateVersion = "23.11";
|
||||
# Place Files Inside Home Directory
|
||||
file = {
|
||||
"Pictures/Wallpapers".source = ../../../config/wallpapers;
|
||||
"Pictures/Wallpapers".recursive = true;
|
||||
".config/wlogout/icons".source = ../../../config/wlogout;
|
||||
".config/wlogout/icons".recursive = true;
|
||||
".face.icon".source = ../../../config/face.jpg;
|
||||
".config/face.jpg".source = ../../../config/face.jpg;
|
||||
".config/swappy/config".text = ''
|
||||
[Default]
|
||||
save_dir=/home/${username}/Pictures/Screenshots
|
||||
save_filename_format=swappy-%Y%m%d-%H%M%S.png
|
||||
show_panel=false
|
||||
line_size=5
|
||||
text_size=20
|
||||
text_font=Ubuntu
|
||||
paint_mode=brush
|
||||
early_exit=true
|
||||
fill_shape=false
|
||||
'';
|
||||
};
|
||||
# Scripts
|
||||
packages = [
|
||||
(import ../../../scripts/emopicker9000.nix {inherit pkgs;})
|
||||
(import ../../../scripts/task-waybar.nix {inherit pkgs;})
|
||||
(import ../../../scripts/squirtle.nix {inherit pkgs;})
|
||||
(import ../../../scripts/nvidia-offload.nix {inherit pkgs;})
|
||||
(import ../../../scripts/wallsetter.nix {
|
||||
inherit pkgs;
|
||||
inherit username;
|
||||
})
|
||||
(import ../../../scripts/web-search.nix {inherit pkgs;})
|
||||
(import ../../../scripts/rofi-launcher.nix {inherit pkgs;})
|
||||
(import ../../../scripts/screenshootin.nix {inherit pkgs;})
|
||||
(import ../../../scripts/list-hypr-bindings.nix {
|
||||
inherit pkgs;
|
||||
inherit host;
|
||||
})
|
||||
|
||||
dexApps.dex-messenger
|
||||
dexApps.dex-instagram
|
||||
dexApps.dex-chatgpt
|
||||
dexApps.dex-portainer
|
||||
dexApps.dex-claude
|
||||
dexApps.dex-beszel
|
||||
dexApps.dex-mastodon
|
||||
dexApps.dex-nextcloud
|
||||
dexApps.dex-dailydev
|
||||
];
|
||||
};
|
||||
}
|
||||
37
hosts/garand-laptop/home/misc.nix
Normal file
37
hosts/garand-laptop/home/misc.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{pkgs, ...}: {
|
||||
# Create XDG Dirs
|
||||
xdg = {
|
||||
enable = true;
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
};
|
||||
portal = {
|
||||
enable = true;
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
];
|
||||
config = {
|
||||
common = {
|
||||
default = [
|
||||
"gtk"
|
||||
"hyprland"
|
||||
];
|
||||
};
|
||||
};
|
||||
configPackages = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
dconf.settings = {
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = ["qemu:///system"];
|
||||
uris = ["qemu:///system"];
|
||||
};
|
||||
};
|
||||
}
|
||||
314
hosts/garand-laptop/home/programs.librewolf.nix
Normal file
314
hosts/garand-laptop/home/programs.librewolf.nix
Normal file
File diff suppressed because one or more lines are too long
144
hosts/garand-laptop/home/programs.nix
Normal file
144
hosts/garand-laptop/home/programs.nix
Normal file
@@ -0,0 +1,144 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
username,
|
||||
host,
|
||||
...
|
||||
}: let
|
||||
inherit (import ../variables.nix) gitUsername gitEmail;
|
||||
in {
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
userName = "${gitUsername}";
|
||||
userEmail = "${gitEmail}";
|
||||
extraConfig = {
|
||||
credential.helper = "cache --timeout=3600";
|
||||
};
|
||||
};
|
||||
|
||||
gh.enable = true;
|
||||
|
||||
kitty = {
|
||||
enable = true;
|
||||
package = pkgs.kitty;
|
||||
settings = {
|
||||
scrollback_lines = 2000;
|
||||
wheel_scroll_min_lines = 1;
|
||||
window_padding_width = 4;
|
||||
confirm_os_window_close = 0;
|
||||
};
|
||||
extraConfig = ''
|
||||
tab_bar_style fade
|
||||
tab_fade 1
|
||||
active_tab_font_style bold
|
||||
inactive_tab_font_style bold
|
||||
'';
|
||||
};
|
||||
|
||||
starship = {
|
||||
enable = true;
|
||||
package = pkgs.starship;
|
||||
};
|
||||
|
||||
bash = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
profileExtra = ''
|
||||
#if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
|
||||
# exec Hyprland
|
||||
#fi
|
||||
'';
|
||||
initExtra = ''
|
||||
fastfetch
|
||||
if [ -f $HOME/.bashrc-personal ]; then
|
||||
source $HOME/.bashrc-personal
|
||||
fi
|
||||
'';
|
||||
shellAliases = {
|
||||
os-sw = "sudo nixos-rebuild switch --flake ~/zaneyos";
|
||||
os-bt = "sudo nixos-rebuild boot --flake ~/zaneyos";
|
||||
os-ts = "sudo nixos-rebuild test --flake ~/zaneyos";
|
||||
os-up = "sudo nix flake update";
|
||||
os-upg = "sudo nix flake update && sudo nixos-rebuild switch --flake ~/zaneyos";
|
||||
os-up-np = "sudo nix flake update --update-input nixpkgs";
|
||||
fr = "nh os switch --hostname ${host} /home/${username}/zaneyos";
|
||||
fu = "nh os switch --hostname ${host} --update /home/${username}/zaneyos";
|
||||
hypr-cli = "hyprctl clients";
|
||||
ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
|
||||
n = "nano";
|
||||
cat = "bat";
|
||||
ookla = "speedtest";
|
||||
ls = "eza --icons";
|
||||
ll = "eza -lh --icons --grid --group-directories-first";
|
||||
la = "eza -lah --icons --grid --group-directories-first";
|
||||
ssh-server = "ssh garand_plg@192.168.1.156 -p 556 -i ~/.ssh/hp-t640-homeserver";
|
||||
fc = "fortune | cowsay";
|
||||
mkgidf = "git add --intent-to-add . && git diff > git-diff.txt";
|
||||
".." = "cd ..";
|
||||
kys = "shutdown now";
|
||||
pasjans = "ttysolitaire -p 10 --no-background-color";
|
||||
};
|
||||
};
|
||||
|
||||
hyprlock = {
|
||||
enable = true;
|
||||
settings = {
|
||||
general = {
|
||||
disable_loading_bar = true;
|
||||
grace = 10;
|
||||
hide_cursor = true;
|
||||
no_fade_in = false;
|
||||
};
|
||||
background = lib.mkForce [
|
||||
{
|
||||
path = "/home/${username}/Pictures/Wallpapers/attack-on-titan-mikasa-ackerman.jpg";
|
||||
blur_passes = 3;
|
||||
blur_size = 8;
|
||||
}
|
||||
];
|
||||
image = [
|
||||
{
|
||||
path = "/home/${username}/.config/face.jpg";
|
||||
size = 150;
|
||||
border_size = 4;
|
||||
border_color = "rgb(0C96F9)";
|
||||
rounding = -1; # Negative means circle
|
||||
position = "0, 200";
|
||||
halign = "center";
|
||||
valign = "center";
|
||||
}
|
||||
];
|
||||
input-field = lib.mkDefault [
|
||||
{
|
||||
size = "200, 50";
|
||||
position = "0, -80";
|
||||
monitor = "";
|
||||
dots_center = true;
|
||||
fade_on_empty = false;
|
||||
font_color = "rgb(CFE6F4)";
|
||||
inner_color = "rgb(657DC2)";
|
||||
outer_color = "rgb(0D0E15)";
|
||||
outline_thickness = 5;
|
||||
placeholder_text = "Password...";
|
||||
shadow_passes = 2;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
ssh = {
|
||||
enable = true;
|
||||
matchBlocks = {
|
||||
"hp-t640-homeserver" = {
|
||||
hostname = "192.168.1.156";
|
||||
user = "garand_plg";
|
||||
port = 556;
|
||||
identityFile = "~/.ssh/hp-t640-homeserver";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
24
hosts/garand-laptop/home/services.nix
Normal file
24
hosts/garand-laptop/home/services.nix
Normal file
@@ -0,0 +1,24 @@
|
||||
{...}: {
|
||||
services = {
|
||||
hypridle = {
|
||||
settings = {
|
||||
general = {
|
||||
after_sleep_cmd = "hyprctl dispatch dpms on";
|
||||
ignore_dbus_inhibit = false;
|
||||
lock_cmd = "hyprlock";
|
||||
};
|
||||
listener = [
|
||||
{
|
||||
timeout = 900;
|
||||
on-timeout = "hyprlock";
|
||||
}
|
||||
{
|
||||
timeout = 1200;
|
||||
on-timeout = "hyprctl dispatch dpms off";
|
||||
on-resume = "hyprctl dispatch dpms on";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
41
hosts/garand-laptop/home/styles.nix
Normal file
41
hosts/garand-laptop/home/styles.nix
Normal file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
host,
|
||||
...
|
||||
}: {
|
||||
# Styling Options
|
||||
stylix = {
|
||||
targets = {
|
||||
librewolf.profileNames = ["${host}"];
|
||||
waybar = {
|
||||
enable = false;
|
||||
};
|
||||
rofi = {
|
||||
enable = false;
|
||||
};
|
||||
hyprland = {
|
||||
enable = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
gtk = {
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
gtk3.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
};
|
||||
gtk4.extraConfig = {
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
};
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
style.name = lib.mkDefault "adwaita-dark";
|
||||
platformTheme.name = lib.mkDefault "gtk3";
|
||||
};
|
||||
}
|
||||
@@ -18,6 +18,7 @@ in {
|
||||
"lp"
|
||||
"docker"
|
||||
"audio"
|
||||
"gamemode"
|
||||
];
|
||||
shell = pkgs.bash;
|
||||
ignoreShellProgramCheck = true;
|
||||
|
||||
@@ -1,16 +1,12 @@
|
||||
{
|
||||
# Git Configuration ( For Pulling Software Repos )
|
||||
gitUsername = "GarandPLG";
|
||||
gitEmail = "garandplg@garandplg.com";
|
||||
|
||||
# Hyprland Settings
|
||||
extraMonitorSettings = "";
|
||||
|
||||
# Waybar Settings
|
||||
clock24h = true;
|
||||
|
||||
# Program Options
|
||||
browser = "librewolf"; # Set Default Browser (google-chrome-stable for google-chrome)
|
||||
terminal = "kitty"; # Set Default System Terminal
|
||||
browser = "librewolf";
|
||||
terminal = "kitty";
|
||||
keyboardLayout = "pl";
|
||||
}
|
||||
|
||||
46
scripts/dex-apps.nix
Normal file
46
scripts/dex-apps.nix
Normal file
@@ -0,0 +1,46 @@
|
||||
{pkgs}: {
|
||||
dex-messenger = pkgs.writeShellScriptBin "dex-messenger" ''
|
||||
#!/usr/bin/env bash
|
||||
dex ~/.local/share/applications/chrome-bbdeiblfgdokhlblpgeaokenkfknecgl-Default.desktop
|
||||
'';
|
||||
|
||||
dex-instagram = pkgs.writeShellScriptBin "dex-instagram" ''
|
||||
#!/usr/bin/env bash
|
||||
dex ~/.local/share/applications/chrome-akpamiohjfcnimfljfndmaldlcfphjmp-Default.desktop
|
||||
'';
|
||||
|
||||
dex-chatgpt = pkgs.writeShellScriptBin "dex-chatgpt" ''
|
||||
#!/usr/bin/env bash
|
||||
dex ~/.local/share/applications/chrome-cadlkienfkclaiaibeoongdcgmdikeeg-Default.desktop
|
||||
'';
|
||||
|
||||
dex-portainer = pkgs.writeShellScriptBin "dex-portainer" ''
|
||||
#!/usr/bin/env bash
|
||||
dex ~/.local/share/applications/chrome-dbipeoijaciefjfbfdkpfncmlbfinpge-Default.desktop
|
||||
'';
|
||||
|
||||
dex-claude = pkgs.writeShellScriptBin "dex-claude" ''
|
||||
#!/usr/bin/env bash
|
||||
dex ~/.local/share/applications/chrome-fmpnliohjhemenmnlpbfagaolkdacoja-Default.desktop
|
||||
'';
|
||||
|
||||
dex-beszel = pkgs.writeShellScriptBin "dex-beszel" ''
|
||||
#!/usr/bin/env bash
|
||||
dex ~/.local/share/applications/chrome-gppdefkeejighoejcenjnohhijfbcbkj-Default.desktop
|
||||
'';
|
||||
|
||||
dex-mastodon = pkgs.writeShellScriptBin "dex-mastodon" ''
|
||||
#!/usr/bin/env bash
|
||||
dex ~/.local/share/applications/chrome-mcpclnpikkcgnjfknenfalelmlaccfcj-Default.desktop
|
||||
'';
|
||||
|
||||
dex-nextcloud = pkgs.writeShellScriptBin "dex-nextcloud" ''
|
||||
#!/usr/bin/env bash
|
||||
dex ~/.local/share/applications/chrome-nibpilkookahlimkjopijpmhgllidlok-Default.desktop
|
||||
'';
|
||||
|
||||
dex-dailydev = pkgs.writeShellScriptBin "dex-dailydev" ''
|
||||
#!/usr/bin/env bash
|
||||
dex ~/.local/share/applications/chrome-ppepjbbmpdbanediafpgploonglppmlk-Default.desktop
|
||||
'';
|
||||
}
|
||||
@@ -18,31 +18,13 @@ in
|
||||
--timeout=90 \
|
||||
--timeout-indicator=right \
|
||||
" = Windows/Super/CAPS LOCK" "Klawisz modyfikatora, używany do skrótów klawiszowych" "Nie wykonuje niczego samodzielnie." \
|
||||
" + ENTER" "Otwórz terminal" "${terminal}" \
|
||||
" + SHIFT + ENTER" "Uruchom launcher aplikacji" "rofi" \
|
||||
" + V" "Uruchom Visual Studio Codium" "codium" \
|
||||
" + ALT + W" "Zmień tapetę" "wallsetter" \
|
||||
" + Q" "Zamknij aktywne okno" "killactive" \
|
||||
" + SHIFT + W" "Szukaj w internecie" "web-search" \
|
||||
" + SHIFT + N" "Przeładuj stylizację SwayNC" "swaync-client -rs" \
|
||||
" + W" "Uruchom przeglądarkę internetową" "${browser}" \
|
||||
" + E" "Uruchom selektor emotikon" "emopicker9000" \
|
||||
" + S" "Zrób zrzut ekranu" "screenshootin" \
|
||||
" + SHIFT + S" "Uruchom Slack" "slack" \
|
||||
" + D" "Uruchom Discord" "discord" \
|
||||
" + O" "Uruchom OBS" "obs" \
|
||||
" + G" "Uruchom GIMP" "gimp" \
|
||||
" + SHIFT + G" "Uruchom Godot4" "godot4" \
|
||||
" + C" "Uruchom selektor kolorów" "hyprpicker -a" \
|
||||
" + T" "Otwórz nowe okno menedżera plików" "thunar" \
|
||||
" + SHIFT + T" "Uruchom Tutanota" "tutanota-desktop" \
|
||||
" + M" "Uruchom Plexamp" "Plexamp" \
|
||||
" + SHIFT + M" "Uruchom Messengera" "chrome-bbdeiblfgdokhlblpgeaokenkfknecgl-Default" \
|
||||
" + Esc" "Wyjdź z Hyprland" "exit" \
|
||||
" + P" "Pseudo kafelkowanie" "pseudo" \
|
||||
" + SHIFT + I" "Przełącz kierunek podziału" "togglesplit" \
|
||||
" + F" "Przełącz tryb pełnoekranowy" "fullscreen" \
|
||||
" + SHIFT + F" "Przełącz tryb pływający" "fullscreen" \
|
||||
" + SHIFT + C" "Wyjdź z Hyprland" "exit" \
|
||||
" + SHIFT + F" "Przełącz tryb pływający" "togglefloating" \
|
||||
"ALT + TAB" "Zmień fokus na następne okno i przenieś je na wierzch" "cyclenext & bringactivetotop" \
|
||||
" + Lewo" "Przenieś fokus na okno po lewej" "movefocus,l" \
|
||||
" + Prawo" "Przenieś fokus na okno po prawej" "movefocus,r" \
|
||||
" + Góra" "Przenieś fokus na okno u góry" "movefocus,u" \
|
||||
@@ -51,10 +33,6 @@ in
|
||||
" + SHIFT + Prawo" "Przenieś aktywne okno w prawo" "movewindow,r" \
|
||||
" + SHIFT + Góra" "Przenieś aktywne okno do góry" "movewindow,u" \
|
||||
" + SHIFT + Dół" "Przenieś aktywne okno do dołu" "movewindow,d" \
|
||||
" + H" "Przenieś fokus na okno po lewej" "movefocus,l" \
|
||||
" + L" "Przenieś fokus na okno po prawej" "movefocus,r" \
|
||||
" + K" "Przenieś fokus na okno u góry" "movefocus,u" \
|
||||
" + J" "Przenieś fokus na okno u dołu" "movefocus,d" \
|
||||
" + SHIFT + H" "Przenieś aktywne okno w lewo" "movewindow,l" \
|
||||
" + SHIFT + L" "Przenieś aktywne okno w prawo" "movewindow,r" \
|
||||
" + SHIFT + K" "Przenieś aktywne okno do góry" "movewindow,u" \
|
||||
@@ -69,7 +47,40 @@ in
|
||||
" + Kliknięcie myszą w górę" "Przenieś się do poprzedniej przestrzeni roboczej" "workspace,e-1" \
|
||||
" + Lewy przycisk myszy" "Przenieś/Przeciągnij okno" "movewindow" \
|
||||
" + Prawy przycisk myszy" "Zmień rozmiar okna" "resizewindow" \
|
||||
"ALT + TAB" "Zmień fokus na następne okno i przenieś je na wierzch" "cyclenext & bringactivetotop" \
|
||||
" + ENTER" "Otwórz terminal" "${terminal}" \
|
||||
" + SHIFT + ENTER" "Uruchom launcher aplikacji" "rofi-launcher" \
|
||||
" + ALT + W" "Zmień tapetę" "wallsetter" \
|
||||
" + SHIFT + S" "Zrób zrzut ekranu" "screenshootin" \
|
||||
" + E" "Uruchom selektor emotikon" "emopicker9000" \
|
||||
" + SHIFT + P" "Uruchom selektor kolorów" "hyprpicker -a" \
|
||||
" + SHIFT + W" "Szukaj w internecie" "web-search" \
|
||||
" + SHIFT + K" "Uruchom kalkulator" "galculator" \
|
||||
" + B" "Uruchom monitorowanie zasobów" "NeoHtop" \
|
||||
" + SHIFT + B" "Uruchom manager Bluethooth" "blueman-manager" \
|
||||
" + T" "Otwórz nowe okno menedżera plików" "thunar" \
|
||||
" + W" "Uruchom przeglądarkę internetową" "${browser}" \
|
||||
" + S" "Uruchom Slack" "slack" \
|
||||
" + D" "Uruchom Discord" "discord" \
|
||||
" + C" "Uruchom Chromium" "chromium" \
|
||||
" + SHIFT + C" "Uruchom Claude" "dex-claude" \
|
||||
" + SHIFT + G" "Uruchom ChatGPT" "dex-chatgpt" \
|
||||
" + SHIFT + M" "Uruchom Messengera" "dex-messenger" \
|
||||
" + SHIFT + T" "Uruchom Tutanota" "tutanota-desktop" \
|
||||
" + I" "Uruchom Instagram" "dex-instagram" \
|
||||
" + R" "Uruchom Portainer" "dex-portainer" \
|
||||
" + U" "Uruchom Mastodon" "dex-mastodon" \
|
||||
" + Y" "Uruchom FreeTube" "freetube" \
|
||||
" + SHIFT + Y" "Uruchom Daily.dev" "dex-dailydev" \
|
||||
" + V" "Uruchom Visual Studio Codium" "codium" \
|
||||
" + O" "Uruchom ONLYOFFICE" "onlyoffice-desktopeditors" \
|
||||
" + SHIFT + O" "Uruchom OBS" "obs" \
|
||||
" + G" "Uruchom GIMP" "gimp3" \
|
||||
" + N" "Uruchom klienta nextcloud" "dex-nextcloud" \
|
||||
" + SHIFT + N" "Uruchom synchronizację nextcloud" "nextcloud" \
|
||||
" + L" "Uruchom Lutris" "lutris" \
|
||||
" + A" "Uruchom Anki" "anki" \
|
||||
" + M" "Uruchom Plexamp" "plexamp" \
|
||||
" + Z" "Uruchom Beszel (monitorowanie serwerów)" "dex-beszel" \
|
||||
"+" "Zwiększ głośność" "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" \
|
||||
"-" "Zmniejsz głośność" "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" \
|
||||
"x" "Włącz/wyłącz wyciszenie" "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" \
|
||||
|
||||
@@ -1,43 +1,43 @@
|
||||
{pkgs}:
|
||||
pkgs.writeShellScriptBin "web-search" ''
|
||||
declare -A URLS
|
||||
declare -A URLS
|
||||
|
||||
URLS=(
|
||||
["🌎 Search"]="https://search.garandplg.com/search?q="
|
||||
["❄️ Unstable Packages"]="https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query="
|
||||
["🎞️ YouTube"]="https://www.youtube.com/results?search_query="
|
||||
["❄️ NixOS Wiki"]="https://nixos.wiki/index.php?search="
|
||||
["🔎 Wikipedia"]="https://pl.wikipedia.org/w/index.php?ns0=1&search="
|
||||
["👨💻 StackOverflow"]="https://stackoverflow.com/search?q="
|
||||
)
|
||||
URLS=(
|
||||
["🌎 Search"]="https://search.garandplg.com/search?q="
|
||||
["❄️ Unstable Packages"]="https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query="
|
||||
["🎞️ YouTube"]="https://www.youtube.com/results?search_query="
|
||||
["❄️ NixOS Wiki"]="https://nixos.wiki/index.php?search="
|
||||
["🔎 Wikipedia"]="https://pl.wikipedia.org/w/index.php?ns0=1&search="
|
||||
["👨💻 StackOverflow"]="https://stackoverflow.com/search?q="
|
||||
)
|
||||
|
||||
# List for rofi
|
||||
gen_list() {
|
||||
for i in "''${!URLS[@]}"
|
||||
do
|
||||
echo "$i"
|
||||
done
|
||||
}
|
||||
# List for rofi
|
||||
gen_list() {
|
||||
for i in "''${!URLS[@]}"
|
||||
do
|
||||
echo "$i"
|
||||
done
|
||||
}
|
||||
|
||||
main() {
|
||||
# Pass the list to rofi
|
||||
platform=$( (gen_list) | ${pkgs.wofi}/bin/wofi -dmenu )
|
||||
main() {
|
||||
# Pass the list to rofi
|
||||
platform=$( (gen_list) | ${pkgs.wofi}/bin/wofi -dmenu )
|
||||
|
||||
if [[ -n "$platform" ]]; then
|
||||
query=$( (echo ) | ${pkgs.wofi}/bin/wofi -dmenu )
|
||||
if [[ -n "$platform" ]]; then
|
||||
query=$( (echo ) | ${pkgs.wofi}/bin/wofi -dmenu )
|
||||
|
||||
if [[ -n "$query" ]]; then
|
||||
url=''${URLS[$platform]}$query
|
||||
xdg-open "$url"
|
||||
else
|
||||
exit
|
||||
fi
|
||||
else
|
||||
exit
|
||||
fi
|
||||
}
|
||||
if [[ -n "$query" ]]; then
|
||||
url=''${URLS[$platform]}$query
|
||||
xdg-open "$url"
|
||||
else
|
||||
exit
|
||||
fi
|
||||
else
|
||||
exit
|
||||
fi
|
||||
}
|
||||
|
||||
main
|
||||
main
|
||||
|
||||
exit 0
|
||||
exit 0
|
||||
''
|
||||
|
||||
Reference in New Issue
Block a user