Refactor with nixfmt

This commit is contained in:
2026-02-06 08:36:47 +01:00
parent fe643f065b
commit 82e4ea3c73
41 changed files with 1259 additions and 1112 deletions

131
flake.nix
View File

@@ -1,65 +1,74 @@
{
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = {
url = "github:Superredstone/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
nur = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
};
millennium.url = "github:SteamClientHomebrew/Millennium?dir=packages/nix";
hyprland.url = "github:hyprwm/Hyprland";
};
nixvim = {
url = "github:Superredstone/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
};
nur = {
url = "github:nix-community/NUR";
inputs.nixpkgs.follows = "nixpkgs";
};
millennium.url = "github:SteamClientHomebrew/Millennium?dir=packages/nix";
hyprland.url = "github:hyprwm/Hyprland";
};
outputs = { nixpkgs, home-manager, nixvim, millennium, nur, ... }@inputs:
let
overlays = [
millennium.overlays.default
nur.overlays.default
];
personalEmail = "patrickcanal3@gmail.com";
username = "r3ddy";
mkSystem = import ./lib/mksystem.nix {
inherit
overlays
nixvim
millennium
nur
inputs
nixpkgs
home-manager;
};
in
{
nixosConfigurations.katana = mkSystem "katana" {
system = "x86_64-linux";
user = username;
email = personalEmail;
gamingSystem = true;
# Currently supported: plasma, gnome, hyprland and none
desktopEnvironment = "gnome";
additionalModules = [
];
};
nixosConfigurations.workstation = mkSystem "workstation" {
system = "x86_64-linux";
user = username;
email = personalEmail;
workSystem = true;
desktopEnvironment = "gnome";
};
nixosConfigurations."bomba" = mkSystem "bomba" {
system = "x86_64-linux";
email = personalEmail;
user = username;
desktopEnvironment = "none";
};
};
outputs =
{
nixpkgs,
home-manager,
nixvim,
millennium,
nur,
...
}@inputs:
let
overlays = [
millennium.overlays.default
nur.overlays.default
];
personalEmail = "patrickcanal3@gmail.com";
username = "r3ddy";
mkSystem = import ./lib/mksystem.nix {
inherit
overlays
nixvim
millennium
nur
inputs
nixpkgs
home-manager
;
};
in
{
nixosConfigurations.katana = mkSystem "katana" {
system = "x86_64-linux";
user = username;
email = personalEmail;
gamingSystem = true;
# Currently supported: plasma, gnome, hyprland and none
desktopEnvironment = "gnome";
additionalModules = [
];
};
nixosConfigurations.workstation = mkSystem "workstation" {
system = "x86_64-linux";
user = username;
email = personalEmail;
workSystem = true;
desktopEnvironment = "gnome";
};
nixosConfigurations."bomba" = mkSystem "bomba" {
system = "x86_64-linux";
email = personalEmail;
user = username;
desktopEnvironment = "none";
};
};
}

View File

@@ -1,38 +1,48 @@
{ currentSystemUser, currentSystemDe, pkgs, ... }:
{
imports = [
./fish.nix
./git.nix
./gnome.nix
./kitty.nix
./mangohud.nix
./tmux.nix
./zoxide.nix
] ++ (if currentSystemDe == "hyprland" then [
./hyprland
] else []
);
currentSystemUser,
currentSystemDe,
pkgs,
...
}:
{
imports = [
./fish.nix
./git.nix
./gnome.nix
./kitty.nix
./mangohud.nix
./tmux.nix
./zoxide.nix
]
++ (
if currentSystemDe == "hyprland" then
[
./hyprland
]
else
[ ]
);
home = {
username = "${currentSystemUser}";
sessionVariables = {
EDITOR = "nvim";
BROWSER = "firefox";
TERMINAL = "gnome-boxes";
};
packages = [
pkgs.dconf
];
pointerCursor = {
enable = false;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
};
};
home = {
username = "${currentSystemUser}";
sessionVariables = {
EDITOR = "nvim";
BROWSER = "firefox";
TERMINAL = "gnome-boxes";
};
packages = [
pkgs.dconf
];
pointerCursor = {
enable = false;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
};
};
dconf.enable = true;
dconf.enable = true;
programs.home-manager.enable = true;
programs.home-manager.enable = true;
home.stateVersion = "24.11";
home.stateVersion = "24.11";
}

View File

@@ -1,28 +1,28 @@
{ pkgs, ... }:
{
programs.fish = {
enable = true;
interactiveShellInit = ''
# This is commented until a good way of installing themes is found
# fish_config theme choose Catppuccin\ Mocha
programs.fish = {
enable = true;
interactiveShellInit = ''
# This is commented until a good way of installing themes is found
# fish_config theme choose Catppuccin\ Mocha
function fish_greeting
krabby random --no-title --padding-left 2
end
function weather
curl "wttr.in/Bolzano?0?Q?"
end
function fish_greeting
krabby random --no-title --padding-left 2
end
function weather
curl "wttr.in/Bolzano?0?Q?"
end
function dev
nix develop --command "fish"
end
'';
plugins = with pkgs.fishPlugins; [
{
name = "fzf.fish";
src = fzf-fish.src;
}
];
};
function dev
nix develop --command "fish"
end
'';
plugins = with pkgs.fishPlugins; [
{
name = "fzf.fish";
src = fzf-fish.src;
}
];
};
}

View File

@@ -1,14 +1,14 @@
{ ... }:
{
programs.git = {
enable = true;
settings = {
user = {
name = "Superredstone";
email = "patrickcanal3@gmail.com";
};
init.defaultBranch = "main";
pull.rebase = true;
};
};
programs.git = {
enable = true;
settings = {
user = {
name = "Superredstone";
email = "patrickcanal3@gmail.com";
};
init.defaultBranch = "main";
pull.rebase = true;
};
};
}

View File

@@ -1,13 +1,13 @@
{ pkgs, ... }:
{
dconf = {
settings."org/gnome/shell" = {
enabled-extensions = with pkgs.gnomeExtensions; [
appindicator.extensionUuid
caffeine.extensionUuid
dash-to-dock.extensionUuid
wallpaper-slideshow.extensionUuid
];
};
};
dconf = {
settings."org/gnome/shell" = {
enabled-extensions = with pkgs.gnomeExtensions; [
appindicator.extensionUuid
caffeine.extensionUuid
dash-to-dock.extensionUuid
wallpaper-slideshow.extensionUuid
];
};
};
}

View File

@@ -1,9 +1,9 @@
{ ... }:
{ ... }:
{
imports = [
./hyprland.nix
./hyprlock.nix
./waybar.nix
./wofi.nix
];
imports = [
./hyprland.nix
./hyprlock.nix
./waybar.nix
./wofi.nix
];
}

View File

@@ -1,83 +1,86 @@
{ currentSystemUser, ... }:
{
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
dconf.settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
wayland.windowManager.hyprland = {
enable = true;
settings = {
"$mod" = "SUPER";
bind = [
"$mod, Return, exec, kitty"
"$mod, SPACE, exec, wofi --show run"
"$mod SHIFT, L, exec, hyprlock"
wayland.windowManager.hyprland = {
enable = true;
settings = {
"$mod" = "SUPER";
bind = [
"$mod, Return, exec, kitty"
"$mod, SPACE, exec, wofi --show run"
"$mod SHIFT, L, exec, hyprlock"
"$mod SHIFT, Q, killactive"
"$mod, F, fullscreen"
"$mod, H, movefocus, l"
"$mod, L, movefocus, r"
"$mod, K, movefocus, u"
"$mod, J, movefocus, d"
"$mod SHIFT, H, movewindow, l"
"$mod SHIFT, L, movewindow, r"
"$mod SHIFT, K, movewindow, u"
"$mod SHIFT, J, movewindow, d"
"$mod SHIFT, right, resizeactive, 30 0"
"$mod SHIFT, left, resizeactive, -30 0"
"$mod SHIFT, up, resizeactive, 0 -30"
"$mod SHIFT, down, resizeactive, 0 30"
"$mod SHIFT, U, togglefloating"
"$mod SHIFT, Q, killactive"
"$mod, F, fullscreen"
"$mod, H, movefocus, l"
"$mod, L, movefocus, r"
"$mod, K, movefocus, u"
"$mod, J, movefocus, d"
"$mod SHIFT, H, movewindow, l"
"$mod SHIFT, L, movewindow, r"
"$mod SHIFT, K, movewindow, u"
"$mod SHIFT, J, movewindow, d"
"$mod SHIFT, right, resizeactive, 30 0"
"$mod SHIFT, left, resizeactive, -30 0"
"$mod SHIFT, up, resizeactive, 0 -30"
"$mod SHIFT, down, resizeactive, 0 30"
"$mod SHIFT, U, togglefloating"
",XF86MonBrightnessDown, exec, brightnessctl set 2%-"
",XF86MonBrightnessUp, exec, brightnessctl set +2%"
",XF86AudioLowerVolume, exec, pamixer -d 2"
",XF86AudioRaiseVolume, exec, pamixer -i 2"
",XF86MonBrightnessDown, exec, brightnessctl set 2%-"
",XF86MonBrightnessUp, exec, brightnessctl set +2%"
",XF86AudioLowerVolume, exec, pamixer -d 2"
",XF86AudioRaiseVolume, exec, pamixer -i 2"
"$mod, delete, exit"
] ++ (
builtins.concatLists (builtins.genList (i:
let ws = i + 1;
in [
"$mod, code:1${toString i}, workspace, ${toString ws}"
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
]
)
9)
);
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
"$mod, delete, exit"
]
++ (builtins.concatLists (
builtins.genList (
i:
let
ws = i + 1;
in
[
"$mod, code:1${toString i}, workspace, ${toString ws}"
"$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}"
]
) 9
));
bindm = [
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
monitor = ", preferred, auto, 1";
monitor = ", preferred, auto, 1";
input = {
touchpad = {
natural_scroll = "yes";
};
input = {
touchpad = {
natural_scroll = "yes";
};
sensitivity = "0";
accel_profile = "flat";
};
sensitivity = "0";
accel_profile = "flat";
};
exec-once = [
"waybar"
"hyprpaper"
];
exec-once = [
"waybar"
"hyprpaper"
];
exec = [
];
};
};
exec = [
];
};
};
services.hyprpaper = {
enable = true;
settings = {
preload = ["/home/${currentSystemUser}/Pictures/wallpaper.jpg"];
wallpaper = [",/home/${currentSystemUser}/Pictures/wallpaper.jpg"];
};
};
services.hyprpaper = {
enable = true;
settings = {
preload = [ "/home/${currentSystemUser}/Pictures/wallpaper.jpg" ];
wallpaper = [ ",/home/${currentSystemUser}/Pictures/wallpaper.jpg" ];
};
};
}

View File

@@ -1,6 +1,6 @@
{ ... }:
{
programs.hyprlock = {
enable = true;
};
programs.hyprlock = {
enable = true;
};
}

View File

@@ -1,373 +1,377 @@
{ ... }:
{ ... }:
{
programs.waybar = {
enable = true;
programs.waybar = {
enable = true;
settings = {
mainBar = {
height = 30;
spacing = 1;
modules-left = [
"hyprland/workspaces"
];
modules-center = [
"hyprland/window"
];
modules-right = [
"tray"
"pulseaudio"
"network"
"power-profiles-daemon"
"backlight"
"battery"
"clock"
];
settings = {
mainBar = {
height = 30;
spacing = 1;
modules-left = [
"hyprland/workspaces"
];
modules-center = [
"hyprland/window"
];
modules-right = [
"tray"
"pulseaudio"
"network"
"power-profiles-daemon"
"backlight"
"battery"
"clock"
];
"hyprland/workspaces" = {
format = "{name} {icon}";
format-icons = {
"1" = "";
"2" = "";
"3" = "";
"4" = "";
"5" = "";
};
};
"tray" = {
spacing = 10;
};
"pulseaudio" = {
format = "{volume}% {icon}";
format-icons = {
headphones = "";
bluetooth = "󰥰";
handsfree = "";
headset = "󱡬";
phone = "";
portable = "";
car = "";
default = ["🕨" "🕩" "🕪"];
};
on-click = "pavucontrol";
};
"hyprland/window" = {
format = "{class}";
};
"battery" = {
"interval" = 1;
states = {
good = 80;
warning = 30;
critical = 20;
};
format = "{capacity}% {icon}";
format-charging = "{capacity}% 󰂄";
format-plugged = "{capacity}% ";
format-alt = "{time} {icon}";
format-icons = [
"󰁻"
"󰁼"
"󰁾"
"󰂀"
"󰂂"
"󰁹"
];
};
# Currently not enabled because i don't want to add some external tools to manage brightness
# backlight = {
# format = "{percent}% {icon}";
# format-icons = [
# ""
# ""
# ""
# ""
# ""
# ""
# ""
# ""
# ""
# ""
# ];
# on-scroll-down = "light -A 10";
# on-scroll-up = "light -U 10";
# smooth-scrolling-threshold = 1;
# };
"network" = {
format-wifi = "{ipaddr} Wi-Fi";
format-ethernet = "{ipaddr} Eth";
};
"power-profiles-daemon" = {
"format" = "{icon}";
"tooltip-format" = "Power profile: {profile}\nDriver: {driver}";
"tooltip" = true;
"format-icons" = {
"default" = "";
"performance" = "";
"balanced" = "";
"power-saver" = "";
};
};
};
};
"hyprland/workspaces" = {
format = "{name} {icon}";
format-icons = {
"1" = "";
"2" = "";
"3" = "";
"4" = "";
"5" = "";
};
};
"tray" = {
spacing = 10;
};
"pulseaudio" = {
format = "{volume}% {icon}";
format-icons = {
headphones = "";
bluetooth = "󰥰";
handsfree = "";
headset = "󱡬";
phone = "";
portable = "";
car = "";
default = [
"🕨"
"🕩"
"🕪"
];
};
on-click = "pavucontrol";
};
"hyprland/window" = {
format = "{class}";
};
"battery" = {
"interval" = 1;
states = {
good = 80;
warning = 30;
critical = 20;
};
format = "{capacity}% {icon}";
format-charging = "{capacity}% 󰂄";
format-plugged = "{capacity}% ";
format-alt = "{time} {icon}";
format-icons = [
"󰁻"
"󰁼"
"󰁾"
"󰂀"
"󰂂"
"󰁹"
];
};
# Currently not enabled because i don't want to add some external tools to manage brightness
# backlight = {
# format = "{percent}% {icon}";
# format-icons = [
# ""
# ""
# ""
# ""
# ""
# ""
# ""
# ""
# ""
# ""
# ];
# on-scroll-down = "light -A 10";
# on-scroll-up = "light -U 10";
# smooth-scrolling-threshold = 1;
# };
"network" = {
format-wifi = "{ipaddr} Wi-Fi";
format-ethernet = "{ipaddr} Eth";
};
"power-profiles-daemon" = {
"format" = "{icon}";
"tooltip-format" = "Power profile: {profile}\nDriver: {driver}";
"tooltip" = true;
"format-icons" = {
"default" = "";
"performance" = "";
"balanced" = "";
"power-saver" = "";
};
};
};
};
style = ''
@define-color rosewater #f5e0dc;
@define-color flamingo #f2cdcd;
@define-color pink #f5c2e7;
@define-color mauve #cba6f7;
@define-color red #f38ba8;
@define-color maroon #eba0ac;
@define-color peach #fab387;
@define-color yellow #f9e2af;
@define-color green #a6e3a1;
@define-color teal #94e2d5;
@define-color sky #89dceb;
@define-color sapphire #74c7ec;
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color text #cdd6f4;
@define-color subtext1 #bac2de;
@define-color subtext0 #a6adc8;
@define-color overlay2 #9399b2;
@define-color overlay1 #7f849c;
@define-color overlay0 #6c7086;
@define-color surface2 #585b70;
@define-color surface1 #45475a;
@define-color surface0 #313244;
@define-color base #1e1e2e;
@define-color mantle #181825;
@define-color crust #11111b;
style = ''
@define-color rosewater #f5e0dc;
@define-color flamingo #f2cdcd;
@define-color pink #f5c2e7;
@define-color mauve #cba6f7;
@define-color red #f38ba8;
@define-color maroon #eba0ac;
@define-color peach #fab387;
@define-color yellow #f9e2af;
@define-color green #a6e3a1;
@define-color teal #94e2d5;
@define-color sky #89dceb;
@define-color sapphire #74c7ec;
@define-color blue #89b4fa;
@define-color lavender #b4befe;
@define-color text #cdd6f4;
@define-color subtext1 #bac2de;
@define-color subtext0 #a6adc8;
@define-color overlay2 #9399b2;
@define-color overlay1 #7f849c;
@define-color overlay0 #6c7086;
@define-color surface2 #585b70;
@define-color surface1 #45475a;
@define-color surface0 #313244;
@define-color base #1e1e2e;
@define-color mantle #181825;
@define-color crust #11111b;
* {
border: none;
border-radius: 1px;
font-family: JetBrainsMono Nerd Font;
font-size: 13px;
min-height: 0;
}
window#waybar {
background-color: @mantle;
color: @text;
}
window#waybar.hidden {
opacity: 0.2;
}
tooltip {
background-color: @base;
border: 1px solid @surface1;
}
tooltip label {
color: @text;
}
button {
box-shadow: inset 0 -3px transparent;
border: none;
border-radius: 1px;
}
button:hover {
background: inherit;
box-shadow: inset 0 -3px @text;
}
#workspaces button {
padding: 0 0;
background-color: @mantle;
color: @text;
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
background-image: linear-gradient(0deg, @surface1, @mantle);
}
#workspaces button.focused {
background-image: linear-gradient(0deg, @mauve, @surface1);
box-shadow: inset 0 -3px @text;
}
#workspaces button.urgent {
background-image: linear-gradient(0deg, @red, @mantle);
}
#taskbar button.active {
background-image: linear-gradient(0deg, @surface1, @mantle);
}
#mode {
background-color: @base;
box-shadow: inset 0 -2px @text;
}
#mpris,
#custom-weather,
#clock,
#language,
#pulseaudio,
#bluetooth,
#network,
#memory,
#cpu,
#temperature,
#disk,
#custom-kernel,
#idle_inhibitor,
#scratchpad,
#mode,
#power-profiles-daemon,
#backlight,
#battery,
#tray {
padding: 0 10px;
margin: 5px 1px;
color: @text;
}
#window,
#workspaces {
margin: 0 4px;
}
#power-profiles-daemon {
background-color: @red;
color: @base;
}
#custom-weather {
background-color: @teal;
color: @mantle;
margin-right: 5px;
}
#custom-kernel {
background-color: @rosewater;
color: @mantle;
}
#clock {
background-color: @green;
color: @mantle;
}
@keyframes blink {
to {
background-color: @mantle;
color: @text;
}
}
label:focus {
background-color: @mantle;
}
#cpu {
background-color: @mauve;
color: @mantle;
min-width: 45px;
}
#memory {
background-color: @red;
color: @mantle;
}
#disk {
background-color: @flamingo;
color: @mantle;
}
#battery {
background-color: @mauve;
color: @base;
}
#backlight {
background-color: @sky;
color: @base;
}
#network {
background-color: @peach;
color: @mantle;
}
#network.disconnected {
background-color: red;
color: @mantle;
}
#bluetooth {
background-color: @maroon;
color: @mantle;
min-width: 40px;
}
#pulseaudio {
background-color: @yellow;
color: @mantle;
}
#pulseaudio.muted {
background-color: red;
color: @mantle;
}
#temperature {
background-color: @pink;
color: @mantle;
min-width: 37px;
}
#temperature.critical {
background-color: red;
color: @mantle;
min-width: 37px;
}
#mpris {
background-color: @base;
color: @text;
}
#tray {
background-color: @overlay0;
color: @text;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: @mantle;
}
#idle_inhibitor {
background-color: @base;
color: @text;
font-family: Inter;
}
#idle_inhibitor.activated {
background-color: @text;
color: @base;
}
#scratchpad {
background-color: @base;
color: @text;
}
#scratchpad.empty {
background-color: transparent;
}
'';
};
* {
border: none;
border-radius: 1px;
font-family: JetBrainsMono Nerd Font;
font-size: 13px;
min-height: 0;
}
window#waybar {
background-color: @mantle;
color: @text;
}
window#waybar.hidden {
opacity: 0.2;
}
tooltip {
background-color: @base;
border: 1px solid @surface1;
}
tooltip label {
color: @text;
}
button {
box-shadow: inset 0 -3px transparent;
border: none;
border-radius: 1px;
}
button:hover {
background: inherit;
box-shadow: inset 0 -3px @text;
}
#workspaces button {
padding: 0 0;
background-color: @mantle;
color: @text;
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
background-image: linear-gradient(0deg, @surface1, @mantle);
}
#workspaces button.focused {
background-image: linear-gradient(0deg, @mauve, @surface1);
box-shadow: inset 0 -3px @text;
}
#workspaces button.urgent {
background-image: linear-gradient(0deg, @red, @mantle);
}
#taskbar button.active {
background-image: linear-gradient(0deg, @surface1, @mantle);
}
#mode {
background-color: @base;
box-shadow: inset 0 -2px @text;
}
#mpris,
#custom-weather,
#clock,
#language,
#pulseaudio,
#bluetooth,
#network,
#memory,
#cpu,
#temperature,
#disk,
#custom-kernel,
#idle_inhibitor,
#scratchpad,
#mode,
#power-profiles-daemon,
#backlight,
#battery,
#tray {
padding: 0 10px;
margin: 5px 1px;
color: @text;
}
#window,
#workspaces {
margin: 0 4px;
}
#power-profiles-daemon {
background-color: @red;
color: @base;
}
#custom-weather {
background-color: @teal;
color: @mantle;
margin-right: 5px;
}
#custom-kernel {
background-color: @rosewater;
color: @mantle;
}
#clock {
background-color: @green;
color: @mantle;
}
@keyframes blink {
to {
background-color: @mantle;
color: @text;
}
}
label:focus {
background-color: @mantle;
}
#cpu {
background-color: @mauve;
color: @mantle;
min-width: 45px;
}
#memory {
background-color: @red;
color: @mantle;
}
#disk {
background-color: @flamingo;
color: @mantle;
}
#battery {
background-color: @mauve;
color: @base;
}
#backlight {
background-color: @sky;
color: @base;
}
#network {
background-color: @peach;
color: @mantle;
}
#network.disconnected {
background-color: red;
color: @mantle;
}
#bluetooth {
background-color: @maroon;
color: @mantle;
min-width: 40px;
}
#pulseaudio {
background-color: @yellow;
color: @mantle;
}
#pulseaudio.muted {
background-color: red;
color: @mantle;
}
#temperature {
background-color: @pink;
color: @mantle;
min-width: 37px;
}
#temperature.critical {
background-color: red;
color: @mantle;
min-width: 37px;
}
#mpris {
background-color: @base;
color: @text;
}
#tray {
background-color: @overlay0;
color: @text;
}
#tray > .passive {
-gtk-icon-effect: dim;
}
#tray > .needs-attention {
-gtk-icon-effect: highlight;
background-color: @mantle;
}
#idle_inhibitor {
background-color: @base;
color: @text;
font-family: Inter;
}
#idle_inhibitor.activated {
background-color: @text;
color: @base;
}
#scratchpad {
background-color: @base;
color: @text;
}
#scratchpad.empty {
background-color: transparent;
}
'';
};
}

View File

@@ -1,6 +1,6 @@
{ ... }:
{
programs.wofi = {
enable = true;
};
programs.wofi = {
enable = true;
};
}

View File

@@ -1,18 +1,17 @@
{ pkgs, ... }:
{
programs.kitty = {
enable = false;
settings = {
enable_audio_bell = false;
linux_display_server = "x11"; # This is how you get borders in gnome!
};
font = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrainsMono Nerd Font";
size = 16;
};
themeFile = "Catppuccin-Mocha";
extraConfig = ''
'';
};
programs.kitty = {
enable = false;
settings = {
enable_audio_bell = false;
linux_display_server = "x11"; # This is how you get borders in gnome!
};
font = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrainsMono Nerd Font";
size = 16;
};
themeFile = "Catppuccin-Mocha";
extraConfig = " ";
};
}

View File

@@ -1,9 +1,9 @@
{ ... }:
{
programs.mangohud = {
enable = true;
settings = {
fps_limit = 75;
};
};
programs.mangohud = {
enable = true;
settings = {
fps_limit = 75;
};
};
}

View File

@@ -1,13 +1,13 @@
{ pkgs, ... }:
{
programs.tmux = {
enable = true;
escapeTime = 0;
extraConfig = ''
set -g @catppuccin_flavor 'mocha'
'';
plugins = with pkgs; [
tmuxPlugins.catppuccin
];
};
programs.tmux = {
enable = true;
escapeTime = 0;
extraConfig = ''
set -g @catppuccin_flavor 'mocha'
'';
plugins = with pkgs; [
tmuxPlugins.catppuccin
];
};
}

View File

@@ -1,10 +1,10 @@
{ ... }:
{
programs.zoxide = {
enable = true;
enableFishIntegration= true;
options = [
"--cmd cd"
];
};
programs.zoxide = {
enable = true;
enableFishIntegration = true;
options = [
"--cmd cd"
];
};
}

View File

@@ -1,66 +1,66 @@
# This file is based on https://github.com/kahlstrm/nixos-config/blob/main/lib/mksystem.nix
{
overlays,
nixvim,
millennium,
nur,
inputs,
nixpkgs,
home-manager,
overlays,
nixvim,
millennium,
nur,
inputs,
nixpkgs,
home-manager,
}:
name:
{
system,
user,
email,
gamingSystem ? false,
workSystem ? false,
desktopEnvironment ? "",
additionalModules ? [],
system,
user,
email,
gamingSystem ? false,
workSystem ? false,
desktopEnvironment ? "",
additionalModules ? [ ],
}:
let
nixConfig = ../modules/nix-config/default.nix;
machineConfig = ../machines/${name}/default.nix;
HMConfig = ../home;
systemPackages = ../modules/packages.nix;
specialArgs = {
pkgs-stable = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
currentSystem = system;
currentSystemName = name;
currentSystemUser = user;
currentSystemEmail = email;
currentSystemDe = desktopEnvironment;
gamingSystem = gamingSystem;
workSystem = workSystem;
nixvim = nixvim;
millennium = millennium;
nur = nur;
inputs = inputs;
additionalModules = additionalModules;
};
nixConfig = ../modules/nix-config/default.nix;
machineConfig = ../machines/${name}/default.nix;
HMConfig = ../home;
systemPackages = ../modules/packages.nix;
specialArgs = {
pkgs-stable = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
currentSystem = system;
currentSystemName = name;
currentSystemUser = user;
currentSystemEmail = email;
currentSystemDe = desktopEnvironment;
gamingSystem = gamingSystem;
workSystem = workSystem;
nixvim = nixvim;
millennium = millennium;
nur = nur;
inputs = inputs;
additionalModules = additionalModules;
};
in
nixpkgs.lib.nixosSystem {
inherit system specialArgs;
modules = [
{ nixpkgs.overlays = overlays; }
nixConfig
systemPackages
nur.modules.nixos.default
nur.legacyPackages."${system}".repos.iopq.modules.xraya
home-manager.nixosModules.home-manager
{
home-manager.backupFileExtension = "backup";
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.${user} = import HMConfig;
home-manager.extraSpecialArgs = specialArgs;
home-manager.sharedModules = [
];
}
machineConfig
] ++ additionalModules;
inherit system specialArgs;
modules = [
{ nixpkgs.overlays = overlays; }
nixConfig
systemPackages
nur.modules.nixos.default
nur.legacyPackages."${system}".repos.iopq.modules.xraya
home-manager.nixosModules.home-manager
{
home-manager.backupFileExtension = "backup";
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.${user} = import HMConfig;
home-manager.extraSpecialArgs = specialArgs;
home-manager.sharedModules = [
];
}
machineConfig
]
++ additionalModules;
}

View File

@@ -1,16 +1,15 @@
{
stable,
inputs,
system,
stable,
inputs,
system,
}:
let
nixpkgs-stable = inputs."nixpkgs-unstable";
nixpkgs = if stable then nixpkgs-stable else inputs.nixpkgs-unstable;
home-manager = inputs.home-manager-unstable;
nixpkgs-stable = inputs."nixpkgs-unstable";
nixpkgs = if stable then nixpkgs-stable else inputs.nixpkgs-unstable;
home-manager = inputs.home-manager-unstable;
in
{
systemFunc = nixpkgs.lib.nixosSystem;
home-manager = home-manager.nixosModules;
inherit (import nixpkgs { inherit system; }) lib;
systemFunc = nixpkgs.lib.nixosSystem;
home-manager = home-manager.nixosModules;
inherit (import nixpkgs { inherit system; }) lib;
}

View File

@@ -5,10 +5,10 @@
{ ... }:
{
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
time.timeZone = "Europe/Rome";
time.timeZone = "Europe/Rome";
nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowUnfree = true;
}

View File

@@ -1,17 +1,17 @@
{ ... }:
{ ... }:
{
imports = [
./configuration.nix
./hardware.nix
./networking.nix
./services.nix
./virtualisation.nix
];
imports = [
./configuration.nix
./hardware.nix
./networking.nix
./services.nix
./virtualisation.nix
];
networking.hostName = "bomba";
networking.hostName = "bomba";
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
system.stateVersion = "25.05"; # Did you read the comment?
system.stateVersion = "25.05"; # Did you read the comment?
}

View File

@@ -1,28 +1,43 @@
# 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, modulesPath, ... }:
{
config,
lib,
modulesPath,
...
}:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usb_storage" "usbhid" "sd_mod" ];
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usb_storage"
"usbhid"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/a1939342-f36b-4902-b659-71b468b5e64b";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/a1939342-f36b-4902-b659-71b468b5e64b";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/6132-EE01";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/6132-EE01";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [ ];

View File

@@ -1,4 +1,4 @@
{ ... }:
{ ... }:
{
networking = {
networkmanager.enable = true;

View File

@@ -1,6 +1,6 @@
{ ... }:
{ ... }:
{
services = {
openssh.enable = true;
};
services = {
openssh.enable = true;
};
}

View File

@@ -1,26 +1,27 @@
{ pkgs, ... }:
{
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
loader.systemd-boot.configurationLimit = 10;
initrd = {
luks.devices."luks-563ebcd9-614b-460f-af9a-5cf1d9c8bef5".device = "/dev/disk/by-uuid/563ebcd9-614b-460f-af9a-5cf1d9c8bef5";
verbose = false;
systemd.enable = true;
};
kernelPackages = pkgs.linuxPackages_zen; # pkgs.linuxPackages_latest;
consoleLogLevel = 3;
kernelParams = [
"quiet"
"splash"
"intremap=on"
"boot.shell_on_fail"
"udev.log_priority=3"
"rd.systemd.show_status=auto"
];
boot = {
loader.systemd-boot.enable = true;
loader.efi.canTouchEfiVariables = true;
loader.systemd-boot.configurationLimit = 10;
initrd = {
luks.devices."luks-563ebcd9-614b-460f-af9a-5cf1d9c8bef5".device =
"/dev/disk/by-uuid/563ebcd9-614b-460f-af9a-5cf1d9c8bef5";
verbose = false;
systemd.enable = true;
};
kernelPackages = pkgs.linuxPackages_zen; # pkgs.linuxPackages_latest;
consoleLogLevel = 3;
kernelParams = [
"quiet"
"splash"
"intremap=on"
"boot.shell_on_fail"
"udev.log_priority=3"
"rd.systemd.show_status=auto"
];
plymouth.enable = true;
loader.timeout = 0;
};
plymouth.enable = true;
loader.timeout = 0;
};
}

View File

@@ -1,15 +1,15 @@
{ ... }:
{
imports = [
./hardware.nix
./boot.nix
./nvidia.nix
./services.nix
./virtualisation.nix
./networking.nix
];
imports = [
./hardware.nix
./boot.nix
./nvidia.nix
./services.nix
./virtualisation.nix
./networking.nix
];
networking.hostName = "katana"; # Define your hostname.
networking.hostName = "katana"; # Define your hostname.
system.stateVersion = "25.11"; # Did you read the comment?
system.stateVersion = "25.11"; # Did you read the comment?
}

View File

@@ -1,34 +1,50 @@
# 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, modulesPath, ... }:
{
config,
lib,
modulesPath,
...
}:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "vmd" "xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.availableKernelModules = [
"vmd"
"xhci_pci"
"nvme"
"usbhid"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/mapper/luks-1a5ef40f-3c13-4efb-ae65-da42d4bf30ef";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/mapper/luks-1a5ef40f-3c13-4efb-ae65-da42d4bf30ef";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-1a5ef40f-3c13-4efb-ae65-da42d4bf30ef".device = "/dev/disk/by-uuid/1a5ef40f-3c13-4efb-ae65-da42d4bf30ef";
boot.initrd.luks.devices."luks-1a5ef40f-3c13-4efb-ae65-da42d4bf30ef".device =
"/dev/disk/by-uuid/1a5ef40f-3c13-4efb-ae65-da42d4bf30ef";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/1A33-9EC1";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices =
[ { device = "/dev/mapper/luks-563ebcd9-614b-460f-af9a-5cf1d9c8bef5"; }
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/1A33-9EC1";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [
{ device = "/dev/mapper/luks-563ebcd9-614b-460f-af9a-5cf1d9c8bef5"; }
];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

View File

@@ -1,16 +1,16 @@
{ ... }:
{ ... }:
{
networking = {
networkmanager.enable = true;
wireguard.enable = true;
firewall = {
checkReversePath = false;
allowedUDPPorts = [ 25565 ];
allowedTCPPorts = [ 25565 ];
};
};
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
};
networking = {
networkmanager.enable = true;
wireguard.enable = true;
firewall = {
checkReversePath = false;
allowedUDPPorts = [ 25565 ];
allowedTCPPorts = [ 25565 ];
};
};
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
};
}

View File

@@ -1,20 +1,20 @@
{ config, ... }:
{
hardware = {
graphics.enable = true;
nvidia = {
modesetting.enable = true;
package = config.boot.kernelPackages.nvidiaPackages.beta;
open = true;
prime = {
offload = {
enable = true;
enableOffloadCmd = true;
};
hardware = {
graphics.enable = true;
nvidia = {
modesetting.enable = true;
package = config.boot.kernelPackages.nvidiaPackages.beta;
open = true;
prime = {
offload = {
enable = true;
enableOffloadCmd = true;
};
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
};
intelBusId = "PCI:0:2:0";
nvidiaBusId = "PCI:1:0:0";
};
};
};
}

View File

@@ -1,10 +1,10 @@
{ ... }:
{
services = {
flatpak.enable = true;
printing.enable = true;
# Required for piper to work
ratbagd.enable = true;
xserver.videoDrivers = ["nvidia"];
};
services = {
flatpak.enable = true;
printing.enable = true;
# Required for piper to work
ratbagd.enable = true;
xserver.videoDrivers = [ "nvidia" ];
};
}

View File

@@ -1,18 +1,18 @@
{ ... }:
{
imports = [
./hardware.nix
./services.nix
./virtualisation.nix
./networking.nix
];
imports = [
./hardware.nix
./services.nix
./virtualisation.nix
./networking.nix
];
networking.hostName = "workstation"; # Define your hostname.
networking.hostName = "workstation"; # Define your hostname.
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
system.stateVersion = "24.11"; # Did you read the comment?
system.stateVersion = "24.11"; # Did you read the comment?
}

View File

@@ -1,30 +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, modulesPath, ... }:
{
config,
lib,
modulesPath,
...
}:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" "rtsx_usb_sdmmc" ];
boot.initrd.availableKernelModules = [
"xhci_pci"
"ahci"
"nvme"
"usbhid"
"usb_storage"
"sd_mod"
"rtsx_usb_sdmmc"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/b8f99588-490c-47a4-ad8b-dfbe27ced16c";
fsType = "ext4";
};
fileSystems."/" = {
device = "/dev/disk/by-uuid/b8f99588-490c-47a4-ad8b-dfbe27ced16c";
fsType = "ext4";
};
boot.initrd.luks.devices."luks-a4dcf57a-8925-41a8-bac6-1cfd08a90f0b".device = "/dev/disk/by-uuid/a4dcf57a-8925-41a8-bac6-1cfd08a90f0b";
boot.initrd.luks.devices."luks-a4dcf57a-8925-41a8-bac6-1cfd08a90f0b".device =
"/dev/disk/by-uuid/a4dcf57a-8925-41a8-bac6-1cfd08a90f0b";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/C0E2-037E";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/C0E2-037E";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [ ];

View File

@@ -1,9 +1,12 @@
{ ... }:
{ ... }:
{
networking = {
networkmanager.enable = true;
firewall.allowedUDPPorts = [ 8000 ];
firewall.allowedTCPPorts = [ 8000 ];
nameservers = [ "1.1.1.1" "1.0.0.1" ];
};
networking = {
networkmanager.enable = true;
firewall.allowedUDPPorts = [ 8000 ];
firewall.allowedTCPPorts = [ 8000 ];
nameservers = [
"1.1.1.1"
"1.0.0.1"
];
};
}

View File

@@ -1,17 +1,17 @@
{ ... }:
{
services = {
flatpak.enable = true;
services = {
flatpak.enable = true;
# Enable CUPS to print documents.
printing.enable = true;
openssh = {
enable = true;
ports = [ 22 ];
settings = {
PasswordAuthentication = true;
PermitRootLogin = "no";
};
};
};
# Enable CUPS to print documents.
printing.enable = true;
openssh = {
enable = true;
ports = [ 22 ];
settings = {
PasswordAuthentication = true;
PermitRootLogin = "no";
};
};
};
}

View File

@@ -1,54 +1,63 @@
{ pkgs, lib, currentSystemDe, ... }:
{
services = {
xserver.enable = true;
xserver.excludePackages = with pkgs; [
xterm
];
pkgs,
lib,
currentSystemDe,
...
}:
{
services = {
xserver.enable = true;
xserver.excludePackages = with pkgs; [
xterm
];
# Display managers
displayManager = {
sddm = lib.mkIf (currentSystemDe == "plasma") {
enable = true;
wayland.enable = true;
};
gdm.enable = lib.mkIf (currentSystemDe == "gnome") true;
};
# Display managers
displayManager = {
sddm = lib.mkIf (currentSystemDe == "plasma") {
enable = true;
wayland.enable = true;
};
gdm.enable = lib.mkIf (currentSystemDe == "gnome") true;
};
# Desktop environments
desktopManager = {
plasma6.enable = lib.mkIf (currentSystemDe == "plasma") true;
gnome.enable = lib.mkIf (currentSystemDe == "gnome") true;
};
};
environment.plasma6.excludePackages = with pkgs.kdePackages; [
elisa
konsole
];
environment.gnome.excludePackages = with pkgs; [
epiphany
geary
gedit
gnome-characters
gnome-console
gnome-contacts
gnome-maps
gnome-music
gnome-software
gnome-tour
seahorse
simple-scan
xterm
yelp
];
# Desktop environments
desktopManager = {
plasma6.enable = lib.mkIf (currentSystemDe == "plasma") true;
gnome.enable = lib.mkIf (currentSystemDe == "gnome") true;
};
};
environment.plasma6.excludePackages = with pkgs.kdePackages; [
elisa
konsole
];
environment.gnome.excludePackages = with pkgs; [
epiphany
geary
gedit
gnome-characters
gnome-console
gnome-contacts
gnome-maps
gnome-music
gnome-software
gnome-tour
seahorse
simple-scan
xterm
yelp
];
xdg = {
autostart.enable = true;
portal.enable = true;
};
xdg = {
autostart.enable = true;
portal.enable = true;
};
programs.kdeconnect = lib.mkIf (currentSystemDe != "none") {
enable = true;
package = if (currentSystemDe == "gnome") then pkgs.gnomeExtensions.gsconnect else pkgs.kdePackages.kdeconnect-kde;
};
programs.kdeconnect = lib.mkIf (currentSystemDe != "none") {
enable = true;
package =
if (currentSystemDe == "gnome") then
pkgs.gnomeExtensions.gsconnect
else
pkgs.kdePackages.kdeconnect-kde;
};
}

View File

@@ -1,38 +1,49 @@
{ pkgs, currentSystemUser, currentSystemDe, ... }:
{
imports = [
./keyboard.nix
./security.nix
./services.nix
] ++ (if (currentSystemDe != "none") then [
./de.nix
./fonts.nix
./sound.nix
] else []);
pkgs,
currentSystemUser,
currentSystemDe,
...
}:
{
imports = [
./keyboard.nix
./security.nix
./services.nix
]
++ (
if (currentSystemDe != "none") then
[
./de.nix
./fonts.nix
./sound.nix
]
else
[ ]
);
time.timeZone = "Europe/Rome";
time.timeZone = "Europe/Rome";
# Select internationalisation properties.
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "it_IT.UTF-8";
LC_IDENTIFICATION = "it_IT.UTF-8";
LC_MEASUREMENT = "it_IT.UTF-8";
LC_MONETARY = "it_IT.UTF-8";
LC_NAME = "it_IT.UTF-8";
LC_NUMERIC = "it_IT.UTF-8";
LC_PAPER = "it_IT.UTF-8";
LC_TELEPHONE = "it_IT.UTF-8";
LC_TIME = "it_IT.UTF-8";
};
};
# Select internationalisation properties.
i18n = {
defaultLocale = "en_US.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "it_IT.UTF-8";
LC_IDENTIFICATION = "it_IT.UTF-8";
LC_MEASUREMENT = "it_IT.UTF-8";
LC_MONETARY = "it_IT.UTF-8";
LC_NAME = "it_IT.UTF-8";
LC_NUMERIC = "it_IT.UTF-8";
LC_PAPER = "it_IT.UTF-8";
LC_TELEPHONE = "it_IT.UTF-8";
LC_TIME = "it_IT.UTF-8";
};
};
environment.sessionVariables = {
NIXOS_OZONE_WL = "1"; # Use Wayland when possible (this does not seem to work)
ELECTRON_OZONE_PLATFORM_HINT = "wayland";
GOPATH = "$HOME/.go";
};
environment.sessionVariables = {
NIXOS_OZONE_WL = "1"; # Use Wayland when possible (this does not seem to work)
ELECTRON_OZONE_PLATFORM_HINT = "wayland";
GOPATH = "$HOME/.go";
};
programs.fish.enable = true; # This must be true before initializing my user
users.users.${currentSystemUser} = {
@@ -42,12 +53,15 @@
shell = pkgs.fish;
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nixpkgs.config.packageOverrides = pkgs: {
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/main.tar.gz") {
inherit pkgs;
};
};
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
nixpkgs.config.packageOverrides = pkgs: {
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/main.tar.gz") {
inherit pkgs;
};
};
documentation.man.generateCaches = false;
documentation.man.generateCaches = false;
}

View File

@@ -1,7 +1,7 @@
{ pkgs, ... }:
{
fonts.packages = with pkgs; [
nerd-fonts.jetbrains-mono
noto-fonts
];
fonts.packages = with pkgs; [
nerd-fonts.jetbrains-mono
noto-fonts
];
}

View File

@@ -1,8 +1,8 @@
{ ... }:
{ ... }:
{
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
}

View File

@@ -1,7 +1,7 @@
{ ... }:
{
security.sudo.extraConfig = ''
Defaults pwfeedback
Defaults timestamp_timeout=120
'';
security.sudo.extraConfig = ''
Defaults pwfeedback
Defaults timestamp_timeout=120
'';
}

View File

@@ -1,7 +1,7 @@
{ ... }:
{
services = {
pcscd.enable = true;
nordvpn.enable = true;
};
{ ... }:
{
services = {
pcscd.enable = true;
nordvpn.enable = true;
};
}

View File

@@ -1,14 +1,14 @@
{ ... }:
{
# Enable sound with pipewire.
services = {
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
pulseaudio.enable = false;
};
security.rtkit.enable = true;
# Enable sound with pipewire.
services = {
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
pulseaudio.enable = false;
};
security.rtkit.enable = true;
}

View File

@@ -1,109 +1,148 @@
{ pkgs, gamingSystem, workSystem, currentSystemDe, ... }@ inputs:
{
imports = [
./programs
];
pkgs,
gamingSystem,
workSystem,
currentSystemDe,
...
}@inputs:
{
imports = [
./programs
];
nixpkgs.config.allowUnfree = true;
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [
# CLI utils
appimage-run
bat
btop
bun
busybox
distrobox
docker
dua
fd
fish
fzf
gh
git
gitlab-ci-local
gnumake
htop
inotify-tools
jq
just
killall
krabby
lazygit
nmap
nodejs
openssl
openvpn
pinentry-tty
python3
ripgrep
tree
unzip
wget
wl-clipboard
xdotool
xorg.xwininfo
yad
zip
zoxide
zulu
environment.systemPackages =
with pkgs;
[
# CLI utils
appimage-run
bat
btop
bun
busybox
distrobox
docker
dua
fd
fish
fzf
gh
git
gitlab-ci-local
gnumake
htop
inotify-tools
jq
just
killall
krabby
lazygit
nmap
nodejs
openssl
openvpn
pinentry-tty
python3
ripgrep
tree
unzip
wget
wl-clipboard
xdotool
xorg.xwininfo
yad
zip
zoxide
zulu
# Man pages
man-pages
# Man pages
man-pages
vim # The only and one great editor
inputs.nixvim.packages.${stdenv.hostPlatform.system}.default # The only and one great editor improved even further
] ++ (if currentSystemDe != "none" then [
# Video card
vulkan-tools
vim # The only and one great editor
inputs.nixvim.packages.${stdenv.hostPlatform.system}.default # The only and one great editor improved even further
]
++ (
if currentSystemDe != "none" then
[
# Video card
vulkan-tools
# GUI applications
baobab
bazaar
blackbox-terminal
firefox
fluffychat
gnome-boxes
mpv
nextcloud-client
piper
spotube
telegram-desktop
thunderbird
] else [])
++ (if gamingSystem then [
cura-appimage
discord
heroic
lutris
mangohud
openrgb
prismlauncher
protonplus
satisfactorymodmanager
] else [])
++ (if workSystem then [
android-studio
ansible
virt-manager
] else [])
++ (if currentSystemDe == "plasma" then [
kdePackages.wallpaper-engine-plugin
] else [])
++ (if currentSystemDe == "hyprland" then [
# Hyprland
brightnessctl
hyprpaper
pamixer
pavucontrol
kdePackages.dolphin
] else [])
++ (if currentSystemDe == "gnome" then [
gnome-tweaks
gnomeExtensions.appindicator
gnomeExtensions.caffeine
gnomeExtensions.dash-to-dock
gnomeExtensions.wallpaper-slideshow
] else []);
# GUI applications
baobab
bazaar
blackbox-terminal
firefox
fluffychat
gnome-boxes
mpv
nextcloud-client
piper
spotube
telegram-desktop
thunderbird
]
else
[ ]
)
++ (
if gamingSystem then
[
cura-appimage
discord
heroic
lutris
mangohud
openrgb
prismlauncher
protonplus
satisfactorymodmanager
]
else
[ ]
)
++ (
if workSystem then
[
android-studio
ansible
virt-manager
]
else
[ ]
)
++ (
if currentSystemDe == "plasma" then
[
kdePackages.wallpaper-engine-plugin
]
else
[ ]
)
++ (
if currentSystemDe == "hyprland" then
[
# Hyprland
brightnessctl
hyprpaper
pamixer
pavucontrol
kdePackages.dolphin
]
else
[ ]
)
++ (
if currentSystemDe == "gnome" then
[
gnome-tweaks
gnomeExtensions.appindicator
gnomeExtensions.caffeine
gnomeExtensions.dash-to-dock
gnomeExtensions.wallpaper-slideshow
]
else
[ ]
);
}

View File

@@ -1,27 +1,36 @@
{ pkgs, gamingSystem, currentSystemDe, ... }:
{
imports = [
./nordvpn.nix
];
pkgs,
gamingSystem,
currentSystemDe,
...
}:
{
imports = [
./nordvpn.nix
];
programs = {
gamescope = {
enable = true;
capSysNice = true;
};
steam = if gamingSystem then {
enable = true;
# package = pkgs.steam-millennium;
remotePlay.openFirewall = true;
} else {};
gnupg.agent = {
enable = true;
pinentryPackage = pkgs.pinentry-tty;
enableSSHSupport = true;
};
nh = {
enable = true;
};
hyprland.enable = if currentSystemDe == "hyprland" then true else false;
};
programs = {
gamescope = {
enable = true;
capSysNice = true;
};
steam =
if gamingSystem then
{
enable = true;
# package = pkgs.steam-millennium;
remotePlay.openFirewall = true;
}
else
{ };
gnupg.agent = {
enable = true;
pinentryPackage = pkgs.pinentry-tty;
enableSSHSupport = true;
};
nh = {
enable = true;
};
hyprland.enable = if currentSystemDe == "hyprland" then true else false;
};
}

View File

@@ -1,13 +1,13 @@
{ pkgs, ... } @ inputs:
{ pkgs, ... }@inputs:
{
imports = [
inputs.nur.modules.nixos.default
inputs.nur.legacyPackages.x86_64-linux.repos.wingej0.modules.nordvpn
];
imports = [
inputs.nur.modules.nixos.default
inputs.nur.legacyPackages.x86_64-linux.repos.wingej0.modules.nordvpn
];
nixpkgs.overlays = [
(_final: _prev: {
nordvpn = pkgs.nur.repos.wingej0.nordvpn;
})
];
nixpkgs.overlays = [
(_final: _prev: {
nordvpn = pkgs.nur.repos.wingej0.nordvpn;
})
];
}