update
|
|
@ -1,6 +1,11 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
./system/modules
|
||||
];
|
||||
|
||||
system.stateVersion = "23.11";
|
||||
}
|
||||
|
||||
|
|
|
|||
41
flake.nix
|
|
@ -30,45 +30,8 @@
|
|||
nixosConfigurations.nixos-personal = lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [
|
||||
./configuration.nix
|
||||
./hardware-configuration.nix
|
||||
./system/boot.nix
|
||||
./system/fonts.nix
|
||||
./system/gaming.nix
|
||||
./system/hardware.nix
|
||||
./system/hyprland.nix
|
||||
./system/internationalisation.nix
|
||||
./system/misc.nix
|
||||
./system/networking.nix
|
||||
./system/nixsettings.nix
|
||||
./system/packages.nix
|
||||
./system/polkit.nix
|
||||
./system/programming.nix
|
||||
./system/programs.nix
|
||||
./system/security.nix
|
||||
./system/services.nix
|
||||
./system/sound.nix
|
||||
./system/time.nix
|
||||
./system/users.nix
|
||||
./system/virtualisation.nix
|
||||
./system/theme.nix
|
||||
./system/work.nix
|
||||
|
||||
./configuration.nix
|
||||
lanzaboote.nixosModules.lanzaboote
|
||||
|
||||
|
||||
({pkgs, lib, ...}: {
|
||||
environment.systemPackages = [
|
||||
pkgs.sbctl
|
||||
];
|
||||
|
||||
boot.loader.systemd-boot.enable = lib.mkForce false;
|
||||
|
||||
boot.lanzaboote = {
|
||||
enable = true;
|
||||
pkiBundle = "/etc/secureboot";
|
||||
};
|
||||
})
|
||||
];
|
||||
specialArgs = {
|
||||
inherit pkgs-unstable;
|
||||
|
|
@ -78,7 +41,7 @@
|
|||
homeConfigurations = {
|
||||
gpskwlkr = home-manager.lib.homeManagerConfiguration {
|
||||
inherit pkgs;
|
||||
modules = [ ./home.nix ];
|
||||
modules = [ ./home ];
|
||||
extraSpecialArgs = {
|
||||
inherit pkgs-unstable;
|
||||
inherit inputs;
|
||||
|
|
|
|||
|
|
@ -14,24 +14,17 @@
|
|||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/755bd859-a650-4acd-99a3-d48ef8119370";
|
||||
{ device = "/dev/disk/by-uuid/e77340bd-65f6-48f1-baa6-6b17aae6666a";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/3E0E-A359";
|
||||
{ device = "/dev/disk/by-uuid/EE4B-9C10";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
fileSystems."/home/gpskwlkr/HDD" =
|
||||
{
|
||||
device = "/dev/disk/by-uuid/5ffff838-c04f-4a9b-aa5c-b985e52b6993";
|
||||
fsType = "ext4";
|
||||
options = [ "defaults,noatime" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/dd5fab99-0fad-4dc6-bb4c-723245e9f477"; }
|
||||
[ { device = "/dev/disk/by-uuid/ed488302-476e-4bc2-8516-1ce11271b0dc"; }
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
|
|
|
|||
114
home.nix
|
|
@ -1,114 +0,0 @@
|
|||
{ config, pkgs, pkgs-unstable, lib, inputs, ... }:
|
||||
let configDir = ./user/config;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./user/sh.nix
|
||||
./user/git
|
||||
];
|
||||
|
||||
home.username = "gpskwlkr";
|
||||
home.homeDirectory = "/home/gpskwlkr";
|
||||
home.stateVersion = "23.11";
|
||||
|
||||
home.packages = [
|
||||
pkgs.nnn
|
||||
pkgs.qbittorrent
|
||||
pkgs.telegram-desktop
|
||||
pkgs.fnm
|
||||
pkgs.blueberry
|
||||
|
||||
pkgs-unstable.vesktop
|
||||
pkgs-unstable.hyprshot
|
||||
pkgs-unstable.discord-screenaudio
|
||||
];
|
||||
|
||||
|
||||
# FIX: make it automatically scan config dir and symlink all folders
|
||||
home.file = {
|
||||
".config/nvim".source = "${configDir}/nvim";
|
||||
".config/wallpapers".source = "${configDir}/wallpapers";
|
||||
".config/kitty".source = "${configDir}/kitty";
|
||||
".config/neofetch".source = "${configDir}/neofetch";
|
||||
".config/hypr".source = "${configDir}/hypr";
|
||||
".config/swayidle".source = "${configDir}/swayidle";
|
||||
".config/swaylock".source = "${configDir}/swaylock";
|
||||
".config/wlogout".source = "${configDir}/wlogout";
|
||||
".config/waybar".source = "${configDir}/waybar";
|
||||
".config/btop".source = "${configDir}/btop";
|
||||
".config/wofi".source = "${configDir}/wofi";
|
||||
".config/mako".source = "${configDir}/mako";
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
|
||||
cursorTheme = {
|
||||
name = "Catppuccin-Macchiato-Teal";
|
||||
package = pkgs.catppuccin-gtk;
|
||||
};
|
||||
|
||||
gtk3.extraConfig = {
|
||||
Settings = ''
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
gtk-cursor-theme-name=Catppuccin-Macchiato-Teal
|
||||
'';
|
||||
};
|
||||
|
||||
gtk4.extraConfig = {
|
||||
Settings = ''
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
gtk-cursor-theme-name=Catppuccin-Macchiato-Teal
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
BROWSER = "firefox";
|
||||
EDITOR = "nvim";
|
||||
TERMINAL = "kitty";
|
||||
NIXOS_OZONE_WL = "1";
|
||||
QT_QPA_PLATFORMTHEME = "gtk3";
|
||||
QT_SCALE_FACTOR = "1";
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
SDL_VIDEODRIVER = "wayland";
|
||||
QT_QPA_PLATFORM = "wayland-egl";
|
||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
|
||||
WLR_DRM_DEVICES = "/dev/dri/card0";
|
||||
WLR_NO_HARDWARE_CURSORS = "1";
|
||||
CLUTTER_BACKEND = "wayland";
|
||||
WLR_RENDERER = "vulkan";
|
||||
XCURSOR_SIZE = "24";
|
||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||
XDG_SESSION_DESKTOP = "Hyprland";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
GTK_USE_PORTAL = "1";
|
||||
NIXOS_XDG_OPEN_USE_PORTAL = "1";
|
||||
XDG_CACHE_HOME = "\${HOME}/.cache";
|
||||
XDG_CONFIG_HOME = "\${HOME}/.config";
|
||||
#XDG_BIN_HOME = "\${HOME}/.local/bin";
|
||||
XDG_DATA_HOME = "\${HOME}/.local/share";
|
||||
|
||||
};
|
||||
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
|
||||
profiles.gpskwlkr = {
|
||||
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
|
||||
bypass-paywalls-clean
|
||||
darkreader
|
||||
facebook-container
|
||||
i-dont-care-about-cookies
|
||||
proton-pass
|
||||
to-google-translate
|
||||
view-image
|
||||
youtube-shorts-block
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 230 KiB After Width: | Height: | Size: 230 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
12
home/default.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{ config, pkgs, pkgs-unstable, lib, inputs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./user
|
||||
];
|
||||
|
||||
home.username = "gpskwlkr";
|
||||
home.homeDirectory = "/home/gpskwlkr";
|
||||
home.stateVersion = "23.11";
|
||||
}
|
||||
|
||||
18
home/user/config.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
let configDir = ../config;
|
||||
in
|
||||
{
|
||||
home.file = {
|
||||
".config/nvim".source = "${configDir}/nvim";
|
||||
".config/wallpapers".source = "${configDir}/wallpapers";
|
||||
".config/kitty".source = "${configDir}/kitty";
|
||||
".config/neofetch".source = "${configDir}/neofetch";
|
||||
".config/hypr".source = "${configDir}/hypr";
|
||||
".config/swayidle".source = "${configDir}/swayidle";
|
||||
".config/swaylock".source = "${configDir}/swaylock";
|
||||
".config/wlogout".source = "${configDir}/wlogout";
|
||||
".config/waybar".source = "${configDir}/waybar";
|
||||
".config/btop".source = "${configDir}/btop";
|
||||
".config/wofi".source = "${configDir}/wofi";
|
||||
".config/mako".source = "${configDir}/mako";
|
||||
};
|
||||
}
|
||||
11
home/user/default.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
imports = [
|
||||
./git.nix
|
||||
./gtk.nix
|
||||
./shell.nix
|
||||
./config.nix
|
||||
./packages.nix
|
||||
./programs.nix
|
||||
./environment.nix
|
||||
];
|
||||
}
|
||||
31
home/user/environment.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
home.sessionVariables = {
|
||||
BROWSER = "firefox";
|
||||
EDITOR = "nvim";
|
||||
TERMINAL = "kitty";
|
||||
NIXOS_OZONE_WL = "1";
|
||||
QT_QPA_PLATFORMTHEME = "gtk3";
|
||||
QT_SCALE_FACTOR = "1";
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
SDL_VIDEODRIVER = "wayland";
|
||||
QT_QPA_PLATFORM = "wayland-egl";
|
||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||
QT_AUTO_SCREEN_SCALE_FACTOR = "1";
|
||||
GTK_CSD = "0";
|
||||
WLR_DRM_DEVICES = "/dev/dri/card0";
|
||||
WLR_NO_HARDWARE_CURSORS = "1";
|
||||
CLUTTER_BACKEND = "wayland";
|
||||
WLR_RENDERER = "vulkan";
|
||||
XCURSOR_SIZE = "24";
|
||||
XDG_CURRENT_DESKTOP = "Hyprland";
|
||||
XDG_SESSION_DESKTOP = "Hyprland";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
GTK_USE_PORTAL = "1";
|
||||
NIXOS_XDG_OPEN_USE_PORTAL = "1";
|
||||
XDG_CACHE_HOME = "\${HOME}/.cache";
|
||||
XDG_CONFIG_HOME = "\${HOME}/.config";
|
||||
#XDG_BIN_HOME = "\${HOME}/.local/bin";
|
||||
XDG_DATA_HOME = "\${HOME}/.local/share";
|
||||
|
||||
};
|
||||
}
|
||||
24
home/user/gtk.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
gtk = {
|
||||
enable = true;
|
||||
|
||||
cursorTheme = {
|
||||
name = "Catppuccin-Macchiato-Teal";
|
||||
package = pkgs.catppuccin-gtk;
|
||||
};
|
||||
|
||||
gtk3.extraConfig = {
|
||||
Settings = ''
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
gtk-cursor-theme-name=Catppuccin-Macchiato-Teal
|
||||
'';
|
||||
};
|
||||
|
||||
gtk4.extraConfig = {
|
||||
Settings = ''
|
||||
gtk-application-prefer-dark-theme = 1;
|
||||
gtk-cursor-theme-name=Catppuccin-Macchiato-Teal
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
||||
59
home/user/packages.nix
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = (_: true);
|
||||
|
||||
permittedInsecurePackages = [
|
||||
"electron-25.9.0" # Obsidian
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = [
|
||||
|
||||
# Dev stuff
|
||||
pkgs.jetbrains.rider
|
||||
pkgs.dotnet-sdk_8
|
||||
pkgs.dotnetPackages.Nuget
|
||||
pkgs.gcc
|
||||
pkgs.go
|
||||
pkgs.lua
|
||||
pkgs.nodejs_21
|
||||
pkgs.nodePackages.pnpm
|
||||
(pkgs.python3.withPackages (python-pkgs: [
|
||||
python-pkgs.pip
|
||||
python-pkgs.requests
|
||||
]))
|
||||
pkgs.zig
|
||||
|
||||
# Work stuff
|
||||
pkgs.obsidian
|
||||
pkgs.teams-for-linux
|
||||
pkgs.thunderbird
|
||||
pkgs.zoom-us
|
||||
|
||||
# Bluetooth
|
||||
pkgs.blueberry
|
||||
|
||||
# Social
|
||||
pkgs.telegram-desktop
|
||||
pkgs-unstable.vesktop
|
||||
|
||||
# Gaming
|
||||
pkgs.steam
|
||||
pkgs.steam-run
|
||||
(pkgs.lutris.override {
|
||||
extraPkgs = pkgs: [
|
||||
pkgs.wineWowPackages.stable
|
||||
pkgs.winetricks
|
||||
];
|
||||
})
|
||||
|
||||
# Downloads
|
||||
pkgs.qbittorrent
|
||||
|
||||
# Utils
|
||||
pkgs-unstable.hyprshot
|
||||
];
|
||||
}
|
||||
20
home/user/programs.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
|
||||
profiles.gpskwlkr = {
|
||||
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
|
||||
bypass-paywalls-clean
|
||||
darkreader
|
||||
facebook-container
|
||||
i-dont-care-about-cookies
|
||||
proton-pass
|
||||
to-google-translate
|
||||
view-image
|
||||
youtube-shorts-block
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs.home-manager.enable = true;
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
{ config, pkgs, ... }:
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
# Switched to lanzaboote Secure Boot
|
||||
|
|
@ -22,6 +22,13 @@
|
|||
# };
|
||||
# };
|
||||
|
||||
boot.loader.systemd-boot.enable = lib.mkForce false;
|
||||
|
||||
boot.lanzaboote = {
|
||||
enable = true;
|
||||
pkiBundle = "/etc/secureboot";
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
sbctl
|
||||
];
|
||||
27
system/modules/default.nix
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./boot.nix
|
||||
./fonts.nix
|
||||
./gaming.nix
|
||||
./hardware.nix
|
||||
./hyprland.nix
|
||||
./internationalisation.nix
|
||||
./misc.nix
|
||||
./networking.nix
|
||||
./nixsettings.nix
|
||||
./packages.nix
|
||||
./polkit.nix
|
||||
./programming.nix
|
||||
./programs.nix
|
||||
./security.nix
|
||||
./services.nix
|
||||
./sound.nix
|
||||
./theme.nix
|
||||
./time.nix
|
||||
./users.nix
|
||||
./virtualisation.nix
|
||||
./work.nix
|
||||
];
|
||||
}
|
||||
|
|
@ -12,13 +12,6 @@
|
|||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
steam
|
||||
steam-run
|
||||
(lutris.override {
|
||||
extraPkgs = pkgs: [
|
||||
wineWowPackages.stable
|
||||
winetricks
|
||||
];
|
||||
})
|
||||
|
||||
];
|
||||
}
|
||||
|
|
@ -18,14 +18,4 @@
|
|||
options = "--delete-older-than 7d";
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
|
||||
permittedInsecurePackages = [
|
||||
"electron-25.9.0" # obsidian
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
7
system/modules/programming.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
||||
];
|
||||
}
|
||||
|
|
@ -2,6 +2,16 @@
|
|||
|
||||
{
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
wlr.enable = false;
|
||||
xdgOpenUsePortal = false;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-hyprland
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
|
||||
programs = {
|
||||
steam = {
|
||||
enable = true;
|
||||
|
|
@ -11,6 +21,12 @@
|
|||
|
||||
hyprland = {
|
||||
enable = true;
|
||||
|
||||
xwayland = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
portalPackage = pkgs.xdg-desktop-portal-hyprland;
|
||||
};
|
||||
|
||||
gnupg = {
|
||||
7
system/modules/work.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
||||
];
|
||||
}
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
dotnet-runtime_8
|
||||
dotnet-sdk_8
|
||||
dotnetPackages.Nuget
|
||||
gcc
|
||||
go
|
||||
lua
|
||||
nodejs_21
|
||||
nodePackages.pnpm
|
||||
(python3.withPackages (python-pkgs: [
|
||||
python-pkgs.pip
|
||||
python-pkgs.requests
|
||||
]))
|
||||
zig
|
||||
];
|
||||
}
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
jetbrains.rider
|
||||
obsidian
|
||||
teams-for-linux
|
||||
thunderbird
|
||||
zoom-us
|
||||
];
|
||||
}
|
||||