This commit is contained in:
gpskwlkr 2024-03-26 23:45:56 +04:00
parent 506b21e430
commit 709db1985b
91 changed files with 251 additions and 212 deletions

View file

@ -1,6 +1,11 @@
{ config, lib, pkgs, ... }:
{
imports = [
./hardware-configuration.nix
./system/modules
];
system.stateVersion = "23.11";
}

View file

@ -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;

View file

@ -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
View file

@ -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;
}

View file

Before

Width:  |  Height:  |  Size: 230 KiB

After

Width:  |  Height:  |  Size: 230 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before After
Before After

12
home/default.nix Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View 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;
}

View file

@ -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
];

View 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
];
}

View file

@ -12,13 +12,6 @@
};
environment.systemPackages = with pkgs; [
steam
steam-run
(lutris.override {
extraPkgs = pkgs: [
wineWowPackages.stable
winetricks
];
})
];
}

View file

@ -18,14 +18,4 @@
options = "--delete-older-than 7d";
};
};
nixpkgs = {
config = {
allowUnfree = true;
permittedInsecurePackages = [
"electron-25.9.0" # obsidian
];
};
};
}

View file

@ -0,0 +1,7 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
];
}

View file

@ -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
View file

@ -0,0 +1,7 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
];
}

View file

@ -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
];
}

View file

@ -1,11 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
jetbrains.rider
obsidian
teams-for-linux
thunderbird
zoom-us
];
}