mirror of
https://github.com/Jokiller230/puzzlevision.git
synced 2025-12-19 21:58:47 +00:00
Compare commits
11 commits
c046f4ae17
...
e5cf3d49ad
| Author | SHA1 | Date | |
|---|---|---|---|
| e5cf3d49ad | |||
| d01579f0a4 | |||
| a443208100 | |||
| b35c6547da | |||
| 99459402d2 | |||
| 8f2a2d6ead | |||
| 54c1625886 | |||
| c48551f4be | |||
| 5da4af521e | |||
| 4b5b7e41f4 | |||
| 8a3989ce0b |
17 changed files with 199 additions and 235 deletions
76
flake.lock
generated
76
flake.lock
generated
|
|
@ -7,11 +7,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762198582,
|
"lastModified": 1765485905,
|
||||||
"narHash": "sha256-P9giW/1Crn7ekQt4YIbONJ/hKFaHkTwyhz82FCjh+OM=",
|
"narHash": "sha256-fk6zFzzcwz6su99K7UTxS2497+z/Cdk3FzNsacsmZKA=",
|
||||||
"owner": "catppuccin",
|
"owner": "catppuccin",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "08716214674ca27914daa52e6fa809cc022b581e",
|
"rev": "b49c675acd80931fc8b54290920a90189b461dcf",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -56,11 +56,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762040540,
|
"lastModified": 1765495779,
|
||||||
"narHash": "sha256-z5PlZ47j50VNF3R+IMS9LmzI5fYRGY/Z5O5tol1c9I4=",
|
"narHash": "sha256-MhA7wmo/7uogLxiewwRRmIax70g6q1U/YemqTGoFHlM=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "0010412d62a25d959151790968765a70c436598b",
|
"rev": "5635c32d666a59ec9a55cab87e898889869f7b71",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -69,24 +69,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731533236,
|
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
|
@ -94,11 +76,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762296971,
|
"lastModified": 1765682243,
|
||||||
"narHash": "sha256-Jyv3L5rrUYpecON+9zyFz2VqgTSTsIG35fXuCyuCQv0=",
|
"narHash": "sha256-yeCxFV/905Wr91yKt5zrVvK6O2CVXWRMSrxqlAZnLp0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "34fe48801d2a5301b814eaa1efb496499d06cebc",
|
"rev": "58bf3ecb2d0bba7bdf363fc8a6c4d49b4d509d03",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -114,11 +96,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1752413064,
|
"lastModified": 1762539883,
|
||||||
"narHash": "sha256-bcWxBAAvf5hp0TmMbYrwU4SlBxc5sB/T2VsIBdX1gDk=",
|
"narHash": "sha256-GvlAAIpM/iZtl/EtI+LTzEsQ2qlUkex9i4xRUZXmadM=",
|
||||||
"owner": "Lxtharia",
|
"owner": "Lxtharia",
|
||||||
"repo": "minegrub-theme",
|
"repo": "minegrub-theme",
|
||||||
"rev": "040b163268be6e7cf743ba990177525dc47ed944",
|
"rev": "2fa2012472fbfcfea17b82655dd27456fa507ee7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -138,11 +120,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762305918,
|
"lastModified": 1765785762,
|
||||||
"narHash": "sha256-wVPT9kNpQH4PyRdhZH7oqBlBk8aoNMOYVcy4OzYBjh0=",
|
"narHash": "sha256-lagKpVUJfcp8Duq4a9rAp4H3iBEnXk0EieYTTZl8Js8=",
|
||||||
"owner": "kaylorben",
|
"owner": "kaylorben",
|
||||||
"repo": "nixcord",
|
"repo": "nixcord",
|
||||||
"rev": "9c6b54492dcee998fc5981e1a21b34b243e85d3e",
|
"rev": "d0bbc2feaacac65c692e4ed32ec4996257b8b21c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -153,11 +135,11 @@
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762267440,
|
"lastModified": 1764440730,
|
||||||
"narHash": "sha256-WHjEJ80oYbWyNu0dxysBs5oMlBc5w7YYzL1/UPj4iGo=",
|
"narHash": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "2e85ae1b7030df39269d29118b1f74944d0c8f15",
|
"rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -168,11 +150,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762111121,
|
"lastModified": 1765472234,
|
||||||
"narHash": "sha256-4vhDuZ7OZaZmKKrnDpxLZZpGIJvAeMtK6FKLJYUtAdw=",
|
"narHash": "sha256-9VvC20PJPsleGMewwcWYKGzDIyjckEz8uWmT0vCDYK0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b3d51a0365f6695e7dd5cdf3e180604530ed33b4",
|
"rev": "2fbfb1d73d239d2402a8fe03963e37aab15abe8b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -203,11 +185,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760998189,
|
"lastModified": 1765684837,
|
||||||
"narHash": "sha256-ee2e1/AeGL5X8oy/HXsZQvZnae6XfEVdstGopKucYLY=",
|
"narHash": "sha256-fJCnsYcpQxxy/wit9EBOK33c0Z9U4D3Tvo3gf2mvHos=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "5a7d18b5c55642df5c432aadb757140edfeb70b3",
|
"rev": "94d8af61d8a603d33d1ed3500a33fcf35ae7d3bc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
@ -233,17 +215,17 @@
|
||||||
},
|
},
|
||||||
"vicinae": {
|
"vicinae": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
],
|
||||||
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1762271689,
|
"lastModified": 1765272078,
|
||||||
"narHash": "sha256-pzlrIfOSk0MaEYNbhQ5gDKMA7XmrcuoJaEOP/IZ/dNk=",
|
"narHash": "sha256-etv2HJA9OWvTkjnrjaNSqvebu9gWLIGPYb9PWr4qkfM=",
|
||||||
"owner": "vicinaehq",
|
"owner": "vicinaehq",
|
||||||
"repo": "vicinae",
|
"repo": "vicinae",
|
||||||
"rev": "9f202f5d1d445558605926bfdd6e1be7b6bdb4ef",
|
"rev": "32cf6b1f82e007cddba9c9ae037eff670219cd55",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
||||||
|
|
@ -41,13 +41,13 @@ in
|
||||||
|
|
||||||
betterSettings.enable = true;
|
betterSettings.enable = true;
|
||||||
betterUploadButton.enable = true;
|
betterUploadButton.enable = true;
|
||||||
blurNSFW.enable = true;
|
blurNsfw.enable = true;
|
||||||
clearURLs.enable = true;
|
clearUrLs.enable = true;
|
||||||
callTimer.enable = true;
|
callTimer.enable = true;
|
||||||
consoleJanitor.enable = true;
|
consoleJanitor.enable = true;
|
||||||
copyEmojiMarkdown.enable = true;
|
copyEmojiMarkdown.enable = true;
|
||||||
userMessagesPronouns.enable = true;
|
userMessagesPronouns.enable = true;
|
||||||
reviewDB.enable = true;
|
reviewDb.enable = true;
|
||||||
|
|
||||||
# Vesktop exclusive
|
# Vesktop exclusive
|
||||||
webRichPresence.enable = true;
|
webRichPresence.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -3,10 +3,28 @@ let
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
puzzlevision.apps.firefox = {
|
||||||
|
enable = true;
|
||||||
|
extensions = [
|
||||||
|
"uBlock0@raymondhill.net"
|
||||||
|
"ATBC@EasonWong"
|
||||||
|
"languagetool-webextension@languagetool.org"
|
||||||
|
"firefox-enpass@enpass.io"
|
||||||
|
"firefox@tampermonkey.net"
|
||||||
|
"wappalyzer@crunchlabz.com"
|
||||||
|
"{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}"
|
||||||
|
"{d49033ac-8969-488c-afb0-5cdb73957f41}"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
programs.firefox = mkIf config.programs.firefox.enable {
|
programs.firefox = mkIf config.programs.firefox.enable {
|
||||||
# Required settings for Onebar
|
# Required settings for Onebar
|
||||||
profiles.default.settings = {
|
profiles.default.settings = {
|
||||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||||
|
|
||||||
|
# Fixes an issue regarding URL bar content cut-off
|
||||||
|
# https://git.gay/freeplay/Firefox-Onebar/issues/30
|
||||||
|
"browser.urlbar.trimHttps" = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
4
homes/x86_64-linux/jo/apps/ghostty/default.nix
Normal file
4
homes/x86_64-linux/jo/apps/ghostty/default.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
programs.ghostty.enable = true;
|
||||||
|
}
|
||||||
9
homes/x86_64-linux/jo/apps/zed/default.nix
Normal file
9
homes/x86_64-linux/jo/apps/zed/default.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
{ ... }:
|
||||||
|
{
|
||||||
|
puzzlevision.apps.zed = {
|
||||||
|
enable = true;
|
||||||
|
enable-nix = true;
|
||||||
|
enable-php = true;
|
||||||
|
enable-python = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -9,36 +9,15 @@
|
||||||
./apps/firefox
|
./apps/firefox
|
||||||
./apps/vicinae
|
./apps/vicinae
|
||||||
./apps/packettracer
|
./apps/packettracer
|
||||||
|
./apps/ghostty
|
||||||
|
./apps/zed
|
||||||
|
|
||||||
./desktop/gnome
|
./desktop/gnome
|
||||||
];
|
];
|
||||||
|
|
||||||
puzzlevision = {
|
puzzlevision = {
|
||||||
themes.catppuccin.enable = true;
|
themes.catppuccin.enable = true;
|
||||||
apps = {
|
cli.direnv.enable = true;
|
||||||
zed.enable = true;
|
|
||||||
firefox = {
|
|
||||||
enable = true;
|
|
||||||
extensions = [
|
|
||||||
"uBlock0@raymondhill.net"
|
|
||||||
"ATBC@EasonWong"
|
|
||||||
"languagetool-webextension@languagetool.org"
|
|
||||||
"firefox-enpass@enpass.io"
|
|
||||||
"firefox@tampermonkey.net"
|
|
||||||
"wappalyzer@crunchlabz.com"
|
|
||||||
"{7a7a4a92-a2a0-41d1-9fd7-1e92480d612d}"
|
|
||||||
"{d49033ac-8969-488c-afb0-5cdb73957f41}"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
cli = {
|
|
||||||
direnv.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
programs = {
|
|
||||||
ghostty.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
sops.secrets.wakatime-cfg = {
|
sops.secrets.wakatime-cfg = {
|
||||||
|
|
@ -49,12 +28,11 @@
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
## GENERAL
|
## GENERAL
|
||||||
teams-for-linux
|
|
||||||
enpass
|
enpass
|
||||||
youtube-music
|
youtube-music
|
||||||
|
teams-for-linux
|
||||||
|
|
||||||
## EDITORS
|
## EDITORS
|
||||||
apostrophe
|
|
||||||
jetbrains.phpstorm
|
jetbrains.phpstorm
|
||||||
obsidian
|
obsidian
|
||||||
|
|
||||||
|
|
@ -68,5 +46,5 @@
|
||||||
shopware-cli
|
shopware-cli
|
||||||
];
|
];
|
||||||
|
|
||||||
home.stateVersion = "25.05";
|
home.stateVersion = "25.11";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,45 @@
|
||||||
{ ... }:
|
|
||||||
{
|
{
|
||||||
puzzlevision.desktop.gnome.wallpaper = ../wallpapers/macchiato-waves.jpg;
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
{
|
||||||
|
puzzlevision.desktop.gnome = {
|
||||||
|
enabled-extensions = with pkgs.gnomeExtensions; [
|
||||||
|
user-themes
|
||||||
|
blur-my-shell
|
||||||
|
appindicator
|
||||||
|
unite
|
||||||
|
color-picker
|
||||||
|
clipboard-history
|
||||||
|
vicinae
|
||||||
|
];
|
||||||
|
|
||||||
|
favorite-apps = [
|
||||||
|
"org.gnome.Nautilus.desktop"
|
||||||
|
"obsidian.desktop"
|
||||||
|
"firefox.desktop"
|
||||||
|
"dev.zed.Zed.desktop"
|
||||||
|
];
|
||||||
|
|
||||||
|
wallpaper = ../wallpapers/macchiato-waves.jpg;
|
||||||
|
};
|
||||||
|
|
||||||
|
dconf.settings = {
|
||||||
|
"org/gnome/shell/extensions/unite" = {
|
||||||
|
show-window-buttons = "never";
|
||||||
|
hide-window-titlebars = "maximized";
|
||||||
|
|
||||||
|
use-activities-text = false;
|
||||||
|
extend-left-box = false;
|
||||||
|
reduce-panel-spacing = false;
|
||||||
|
show-legacy-tray = false;
|
||||||
|
show-appmenu-button = false;
|
||||||
|
show-desktop-name = false;
|
||||||
|
enable-titlebar-actions = false;
|
||||||
|
restrict-to-primary-screen = false;
|
||||||
|
hide-activities-button = "never";
|
||||||
|
autofocus-windows = true;
|
||||||
|
notifications-position = "right";
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,10 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.${namespace}.apps.zed = {
|
options.${namespace}.apps.zed = {
|
||||||
enable = mkEnableOption "zed, the graphical editor from the future";
|
enable = mkEnableOption "Zed, the graphical editor from the future, with a sane base configuration.";
|
||||||
|
enable-nix = mkEnableOption "support for the Nix language, based on nixd, in Zed.";
|
||||||
|
enable-php = mkEnableOption "support for the PHP language, based on phpactor and pretty-php, in Zed.";
|
||||||
|
enable-python = mkEnableOption "support for the Python language, based on pylsp, in Zed.";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
@ -21,6 +24,19 @@ in
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
userSettings = {
|
userSettings = {
|
||||||
|
### Disable telemetry
|
||||||
|
telemetry = {
|
||||||
|
diagnostics = false;
|
||||||
|
metrics = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
### Disable collaborative features
|
||||||
|
show_call_status_icon = false;
|
||||||
|
collaboration_panel.button = false;
|
||||||
|
|
||||||
|
### Disable AI features
|
||||||
|
disable_ai = true;
|
||||||
|
|
||||||
### Theme settings
|
### Theme settings
|
||||||
icon_theme = mkForce {
|
icon_theme = mkForce {
|
||||||
dark = mkIf config.catppuccin.enable "Catppuccin Macchiato";
|
dark = mkIf config.catppuccin.enable "Catppuccin Macchiato";
|
||||||
|
|
@ -32,19 +48,6 @@ in
|
||||||
light = mkIf config.catppuccin.enable "Catppuccin Latte (blue)";
|
light = mkIf config.catppuccin.enable "Catppuccin Latte (blue)";
|
||||||
};
|
};
|
||||||
|
|
||||||
### Disable telemetry
|
|
||||||
telemetry = {
|
|
||||||
diagnostics = false;
|
|
||||||
metrics = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
### Remove useless features and stuff
|
|
||||||
show_call_status_icon = false;
|
|
||||||
collaboration_panel.button = false;
|
|
||||||
|
|
||||||
### Disable AI features entirely
|
|
||||||
disable_ai = true;
|
|
||||||
|
|
||||||
### Formatting and saving settings
|
### Formatting and saving settings
|
||||||
formatter = "language_server";
|
formatter = "language_server";
|
||||||
format_on_save = "on";
|
format_on_save = "on";
|
||||||
|
|
@ -63,7 +66,7 @@ in
|
||||||
|
|
||||||
### Language specific configurations
|
### Language specific configurations
|
||||||
languages = {
|
languages = {
|
||||||
Nix = {
|
Nix = mkIf cfg.enable-nix {
|
||||||
language_servers = [
|
language_servers = [
|
||||||
"nixd"
|
"nixd"
|
||||||
"!nil"
|
"!nil"
|
||||||
|
|
@ -77,7 +80,7 @@ in
|
||||||
|
|
||||||
tab_size = 2;
|
tab_size = 2;
|
||||||
};
|
};
|
||||||
PHP = {
|
PHP = mkIf cfg.enable-php {
|
||||||
language_servers = [
|
language_servers = [
|
||||||
"phpactor"
|
"phpactor"
|
||||||
"!intelephense"
|
"!intelephense"
|
||||||
|
|
@ -98,14 +101,14 @@ in
|
||||||
html = true;
|
html = true;
|
||||||
svelte = true;
|
svelte = true;
|
||||||
scss = true;
|
scss = true;
|
||||||
biome = true; # Formatting and utility tool, like ESlint, prettier, etc...
|
oxc = true;
|
||||||
|
|
||||||
# Languages
|
# Languages
|
||||||
nix = true;
|
nix = mkIf cfg.enable-nix true;
|
||||||
php = true;
|
php = mkIf cfg.enable-php true;
|
||||||
sql = true;
|
sql = true;
|
||||||
toml = true;
|
toml = true;
|
||||||
pylsp = true; # Python
|
pylsp = mkIf cfg.enable-python true; # Python
|
||||||
fish = true;
|
fish = true;
|
||||||
|
|
||||||
# Docker
|
# Docker
|
||||||
|
|
@ -117,8 +120,7 @@ in
|
||||||
catppuccin-icons = mkIf config.catppuccin.enable true;
|
catppuccin-icons = mkIf config.catppuccin.enable true;
|
||||||
|
|
||||||
# Other
|
# Other
|
||||||
discord-presence = true;
|
discord-presence = mkIf config.programs.nixcord.enable true;
|
||||||
git-firefly = true;
|
|
||||||
wakatime = true;
|
wakatime = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
@ -133,19 +135,21 @@ in
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
extraPackages = with pkgs; [
|
extraPackages =
|
||||||
### Nix
|
with pkgs;
|
||||||
nixd
|
[ oxlint ]
|
||||||
nixfmt-rfc-style
|
++ lib.optionals cfg.enable-nix [
|
||||||
|
nixd
|
||||||
### Python
|
nixfmt-rfc-style
|
||||||
python3Packages.python-lsp-server
|
]
|
||||||
|
++ lib.optionals cfg.enable-python [
|
||||||
### PHP
|
python3Packages.python-lsp-server
|
||||||
php
|
]
|
||||||
phpPackages.composer
|
++ lib.optionals cfg.enable-php [
|
||||||
pretty-php
|
php
|
||||||
];
|
phpPackages.composer
|
||||||
|
pretty-php
|
||||||
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf mkOption;
|
inherit (lib) mkIf;
|
||||||
inherit (self) namespace;
|
inherit (self) namespace;
|
||||||
inherit (self.lib) mkOpt;
|
inherit (self.lib) mkOpt;
|
||||||
|
|
||||||
|
|
@ -15,58 +15,21 @@ let
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.${namespace}.desktop.gnome = with lib.types; {
|
options.${namespace}.desktop.gnome = with lib.types; {
|
||||||
enabled-extensions = mkOption {
|
enabled-extensions = mkOpt (listOf package) (with pkgs.gnomeExtensions; [
|
||||||
type = listOf package;
|
user-themes
|
||||||
default = with pkgs.gnomeExtensions; [
|
blur-my-shell
|
||||||
user-themes
|
appindicator
|
||||||
blur-my-shell
|
unite
|
||||||
appindicator
|
color-picker
|
||||||
unite
|
clipboard-history
|
||||||
color-picker
|
]) "Specify gnome extensions to install.";
|
||||||
clipboard-history
|
|
||||||
];
|
favorite-apps = mkOpt (listOf str) [
|
||||||
example = [
|
"org.gnome.Nautilus.desktop"
|
||||||
dash-to-dock
|
"firefox.desktop"
|
||||||
blur-my-shell
|
] "Specify your favorite apps (sorted left to right).";
|
||||||
];
|
|
||||||
description = "Specify gnome extensions to install.";
|
wallpaper = mkOpt path ./wallpaper.jpg "Specify the path of your prefered Gnome wallpaper.";
|
||||||
};
|
|
||||||
favorite-apps = mkOption {
|
|
||||||
type = listOf str;
|
|
||||||
default = [
|
|
||||||
"org.gnome.Nautilus.desktop"
|
|
||||||
"obsidian.desktop"
|
|
||||||
"firefox.desktop"
|
|
||||||
"dev.zed.Zed.desktop"
|
|
||||||
];
|
|
||||||
example = [
|
|
||||||
"org.gnome.Nautilus.desktop"
|
|
||||||
"obsidian.desktop"
|
|
||||||
];
|
|
||||||
description = "Specify your favorite apps (sorted left to right).";
|
|
||||||
};
|
|
||||||
extensions = {
|
|
||||||
unite = {
|
|
||||||
show-window-buttons = mkOption {
|
|
||||||
type = str;
|
|
||||||
default = "never";
|
|
||||||
example = "never | maximized | tiled | both | always";
|
|
||||||
description = "Specify when Unite should display window buttons within the top panel.";
|
|
||||||
};
|
|
||||||
hide-window-titlebars = mkOption {
|
|
||||||
type = str;
|
|
||||||
default = "maximized";
|
|
||||||
example = "never | maximized | tiled | both | always";
|
|
||||||
description = "Specify when Unite should hide window titlebars.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
blur-my-shell = {
|
|
||||||
enable-blur = mkOpt bool false "Whether to enable blur-my-shell application blur.";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
wallpaper =
|
|
||||||
mkOpt path ../wallpapers/building_top_sit_dusk.jpg
|
|
||||||
"Specify the path of your prefered Gnome wallpaper.";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf osConfig.${namespace}.desktop.gnome.enable {
|
config = mkIf osConfig.${namespace}.desktop.gnome.enable {
|
||||||
|
|
@ -78,33 +41,6 @@ in
|
||||||
enabled-extensions = lib.forEach cfg.enabled-extensions (x: x.extensionUuid);
|
enabled-extensions = lib.forEach cfg.enabled-extensions (x: x.extensionUuid);
|
||||||
disabled-extensions = [ ]; # Make sure none of our extensions are disabled on system rebuild
|
disabled-extensions = [ ]; # Make sure none of our extensions are disabled on system rebuild
|
||||||
};
|
};
|
||||||
"org/gnome/shell/extensions/unite" =
|
|
||||||
mkIf (builtins.elem pkgs.gnomeExtensions.unite cfg.enabled-extensions)
|
|
||||||
{
|
|
||||||
show-window-buttons = cfg.extensions.unite.show-window-buttons;
|
|
||||||
hide-window-titlebars = cfg.extensions.unite.hide-window-titlebars;
|
|
||||||
|
|
||||||
use-activities-text = false;
|
|
||||||
extend-left-box = false;
|
|
||||||
reduce-panel-spacing = false;
|
|
||||||
show-legacy-tray = false;
|
|
||||||
show-appmenu-button = false;
|
|
||||||
show-desktop-name = false;
|
|
||||||
enable-titlebar-actions = false;
|
|
||||||
restrict-to-primary-screen = false;
|
|
||||||
hide-activities-button = "never";
|
|
||||||
autofocus-windows = true;
|
|
||||||
notifications-position = "right";
|
|
||||||
};
|
|
||||||
"org/gnome/shell/extensions/blur-my-shell/applications" =
|
|
||||||
mkIf cfg.extensions.blur-my-shell.enable-blur
|
|
||||||
{
|
|
||||||
blur = true;
|
|
||||||
sigma = 30;
|
|
||||||
opacity = 230;
|
|
||||||
enable-all = true;
|
|
||||||
dynamic-opacity = false;
|
|
||||||
};
|
|
||||||
"org/gnome/desktop/background" = {
|
"org/gnome/desktop/background" = {
|
||||||
picture-uri = "file://${cfg.wallpaper}";
|
picture-uri = "file://${cfg.wallpaper}";
|
||||||
picture-uri-dark = "file://${cfg.wallpaper}";
|
picture-uri-dark = "file://${cfg.wallpaper}";
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 2.8 MiB After Width: | Height: | Size: 2.8 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 186 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 702 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.8 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 MiB |
|
|
@ -17,7 +17,7 @@ let
|
||||||
inherit (self.lib) dirToModuleList;
|
inherit (self.lib) dirToModuleList;
|
||||||
|
|
||||||
# The identifier of the current system type, e.g. "x86_64-linux" or "aarch64-darwin"
|
# The identifier of the current system type, e.g. "x86_64-linux" or "aarch64-darwin"
|
||||||
system = pkgs.system;
|
system = pkgs.stdenv.hostPlatform.system;
|
||||||
cfg = config.${namespace}.users;
|
cfg = config.${namespace}.users;
|
||||||
|
|
||||||
userSubmodule = types.submodule {
|
userSubmodule = types.submodule {
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,12 @@
|
||||||
|
|
||||||
programs.steam.enable = true;
|
programs.steam.enable = true;
|
||||||
|
|
||||||
|
# Create some helpful groups for development
|
||||||
|
# and permission related reasons.
|
||||||
|
users.groups = {
|
||||||
|
www-data.gid = 33;
|
||||||
|
};
|
||||||
|
|
||||||
puzzlevision = {
|
puzzlevision = {
|
||||||
users.jo = {
|
users.jo = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -18,26 +24,21 @@
|
||||||
extraGroups = [
|
extraGroups = [
|
||||||
"wheel"
|
"wheel"
|
||||||
"docker"
|
"docker"
|
||||||
|
"www-data"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
archetypes.laptop.enable = true;
|
archetypes.laptop.enable = true;
|
||||||
system.kernel.version = "linuxPackages_6_17";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
boot = {
|
# Minecraft bootloader theme
|
||||||
# Grub configuration
|
boot.loader.grub.minegrub-theme = {
|
||||||
loader.grub = {
|
enable = true;
|
||||||
# Minecraft bootloader theme
|
splash = "100% Flakes!";
|
||||||
minegrub-theme = {
|
background = "background_options/1.18 - [Caves And Cliffs 2].png";
|
||||||
enable = true;
|
boot-options-count = 4;
|
||||||
splash = "100% Flakes!";
|
|
||||||
background = "background_options/1.18 - [Caves And Cliffs 2].png";
|
|
||||||
boot-options-count = 4;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.hostName = "puzzlevision";
|
networking.hostName = "puzzlevision";
|
||||||
system.stateVersion = "25.11";
|
system.stateVersion = "26.05";
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,12 @@
|
||||||
{
|
{
|
||||||
pkgs,
|
lib,
|
||||||
inputs,
|
inputs,
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
|
let
|
||||||
|
inherit (lib) mkIf;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
|
inputs.nixos-hardware.nixosModules.common-pc-laptop-ssd
|
||||||
|
|
@ -26,31 +29,27 @@
|
||||||
blacklistedKernelModules = [
|
blacklistedKernelModules = [
|
||||||
"rtw88_8821ce" # Block the default network-card driver.
|
"rtw88_8821ce" # Block the default network-card driver.
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Increase swappiness, if ZRAM swap is enabled,
|
||||||
|
# as it doesn't come with the same "speed" caveats as standard swap.
|
||||||
|
kernel.sysctl = mkIf config.zramSwap.enable {
|
||||||
|
"vm.swappiness" = 140;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable OpenGL and install additional drivers for intel video acceleration
|
# Broader firmware and hardware support
|
||||||
hardware = {
|
hardware = {
|
||||||
graphics = {
|
|
||||||
enable = true;
|
|
||||||
extraPackages = with pkgs; [
|
|
||||||
intel-ocl
|
|
||||||
intel-media-driver
|
|
||||||
libva-vdpau-driver
|
|
||||||
libvdpau-va-gl
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
# Broader firmware and hardware support
|
|
||||||
enableAllFirmware = true;
|
enableAllFirmware = true;
|
||||||
enableAllHardware = true;
|
enableAllHardware = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.sessionVariables = {
|
# Enable ZRAM
|
||||||
LIBVA_DRIVER_NAME = "iHD";
|
zramSwap = {
|
||||||
|
enable = true;
|
||||||
|
priority = 100;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enable ZRAM and disable standard SWAP
|
# Disable standard swap
|
||||||
zramSwap.enable = true;
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
|
|
@ -67,7 +66,7 @@
|
||||||
CPU_MIN_PERF_ON_AC = 0;
|
CPU_MIN_PERF_ON_AC = 0;
|
||||||
CPU_MAX_PERF_ON_AC = 100;
|
CPU_MAX_PERF_ON_AC = 100;
|
||||||
CPU_MIN_PERF_ON_BAT = 0;
|
CPU_MIN_PERF_ON_BAT = 0;
|
||||||
CPU_MAX_PERF_ON_BAT = 30;
|
CPU_MAX_PERF_ON_BAT = 40;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -75,17 +74,9 @@
|
||||||
power-profiles-daemon.enable = false;
|
power-profiles-daemon.enable = false;
|
||||||
|
|
||||||
# Kill processes before they can cause an OOM exception
|
# Kill processes before they can cause an OOM exception
|
||||||
earlyoom = {
|
earlyoom.enable = true;
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
# Enable Thermald for improved overheating protection
|
# Enable Thermald for improved overheating protection
|
||||||
thermald.enable = true;
|
thermald.enable = true;
|
||||||
|
|
||||||
# Instruct XServer to use the correct video drivers
|
|
||||||
xserver.videoDrivers = [
|
|
||||||
"i915"
|
|
||||||
"intel"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue