initial commit

This commit is contained in:
gpskwlkr 2024-03-24 23:16:17 +04:00
commit 07d4f917bd
83 changed files with 3762 additions and 0 deletions

28
system/boot.nix Normal file
View file

@ -0,0 +1,28 @@
{ config, pkgs, ... }:
{
# Switched to lanzaboote Secure Boot
# boot = {
# kernelParams = ["nohibernate" "ipv6.disable=1"];
# tmp.cleanOnBoot = true;
# supportedFilesystems = ["ntfs"];
# loader = {
# grub = {
# device = "nodev";
# efiSupport = true;
# enable = true;
# useOSProber = true;
# timeoutStyle = "menu";
# efiInstallAsRemovable = true;
# extraConfig = ''
# insmod tpm
# '';
# };
# timeout = 300;
# };
# };
environment.systemPackages = with pkgs; [
sbctl
];
}

8
system/fonts.nix Normal file
View file

@ -0,0 +1,8 @@
{ pkgs, ... }:
{
fonts.packages = with pkgs; [
nerdfonts
font-awesome
];
}

24
system/gaming.nix Normal file
View file

@ -0,0 +1,24 @@
{ config, pkgs, ... }:
{
nix = {
settings = {
warn-dirty = false;
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
substituters = ["https://nix-gaming.cachix.org"];
trusted-public-keys = ["nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="];
};
};
environment.systemPackages = with pkgs; [
steam
steam-run
(lutris.override {
extraPkgs = pkgs: [
wineWowPackages.stable
winetricks
];
})
];
}

13
system/hardware.nix Normal file
View file

@ -0,0 +1,13 @@
{ config, pkgs, ... }:
{
hardware = {
bluetooth.enable = true;
opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
};
}

24
system/hyprland.nix Normal file
View file

@ -0,0 +1,24 @@
{ config, pkgs, ... }:
{
programs.hyprland = {
enable = true;
};
environment.systemPackages = with pkgs; [
hyprpaper
kitty
libnotify
mako
nwg-look
qt5.qtwayland
qt6.qtwayland
swayidle
swaylock-effects
wlogout
wl-clipboard
wofi
waybar
xfce.thunar
];
}

View file

@ -0,0 +1,23 @@
{ pkgs, ... }:
{
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
i18n.supportedLocales = [
"en_US.UTF-8/UTF-8"
"ru_RU.UTF-8/UTF-8"
"ka_GE.UTF-8/UTF-8"
];
}

8
system/misc.nix Normal file
View file

@ -0,0 +1,8 @@
{ ... }:
{
console = {
font = "Lat2-Terminus16";
useXkbConfig = true;
};
}

10
system/networking.nix Normal file
View file

@ -0,0 +1,10 @@
{ config, pkgs, ... }:
{
networking = {
hostName = "nixos-personal";
networkmanager.enable = true;
enableIPv6 = false;
firewall.enable = false;
};
}

32
system/nixsettings.nix Normal file
View file

@ -0,0 +1,32 @@
{ config, pkgs, ... }:
{
documentation.nixos.enable = false;
nix = {
settings = {
warn-dirty = false;
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
substituters = ["https://nix-gaming.cachix.org"];
trusted-public-keys = ["nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="];
};
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
};
nixpkgs = {
config = {
allowUnfree = true;
allowUnfreePredicate = pkg: builtins.elem (builtins.parseDrvName pkg.name).name ["steam"];
permittedInsecurePackages = [
"electron-25.9.0"
];
};
};
}

23
system/packages.nix Normal file
View file

@ -0,0 +1,23 @@
{ config, pkgs, ... }:
{
environment.systemPackages = with pkgs; [
bat
btop
fzf
gimp
git
lm_sensors
neofetch
neovim
ripgrep
sysstat
tldr
unzip
wget
xdg-desktop-portal-gtk
zoxide
];
}

27
system/polkit.nix Normal file
View file

@ -0,0 +1,27 @@
{ pkgs, ... }:
{
systemd = {
user.services.polkit-gnome-authentication-agent-1 = {
description = "polkit-gnome-authentication-agent-1";
wantedBy = [ "graphical-session.target" ];
wants = [ "graphical-session.target" ];
after = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
};
};
extraConfig = ''
DefaultTimeoutStopSec=10s
'';
};
environment.systemPackages = with pkgs; [
polkit
polkit_gnome
];
}

19
system/programming.nix Normal file
View file

@ -0,0 +1,19 @@
{ 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
];
}

78
system/programs.nix Normal file
View file

@ -0,0 +1,78 @@
{ config, pkgs, ... }:
{
programs = {
steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
hyprland = {
enable = true;
};
gnupg = {
agent = {
enable = true;
enableSSHSupport = true;
};
};
tmux = {
enable = true;
escapeTime = 0;
plugins = with pkgs; [
tmuxPlugins.vim-tmux-navigator
tmuxPlugins.resurrect
tmuxPlugins.continuum
tmuxPlugins.nord
];
extraConfig = ''
set -g default-terminal "xterm-256color"
set -ga terminal-overrides ",*256col*:Tc"
set -ga terminal-overrides '*:Ss=\E[%p1%d q:Se=\E[ q'
set-environment -g COLORTERM "truecolor"
set -g prefix C-a
unbind C-b
bind-key C-a send-prefix
unbind %
bind | split-window -h
unbind '"'
bind - split-window -v
unbind r
bind r source-file ~/.tmux.conf
bind -r j resize-pane -D 5
bind -r k resize-pane -U 5
bind -r l resize-pane -R 5
bind -r h resize-pane -L 5
bind -r m resize-pane -Z
set -g mouse on
set-window-option -g mode-keys vi
bind-key -T copy-mode-vi 'v' send -X begin-selection
bind-key -T copy-mode-vi 'y' send -X copy-selection
unbind -T copy-mode-vi MouseDragEnd1Pane
set -g @resurrect-capture-pane-contents 'on'
set -g @continuum-restore 'on'
set -g @themepack 'nord'
'';
};
zsh.enable = true;
mtr.enable = true;
};
}

7
system/security.nix Normal file
View file

@ -0,0 +1,7 @@
{ pkgs, ... }:
{
security.polkit.enable = true;
security.pam.services.swaylock = {};
security.pam.services.swaylock.fprintAuth = false;
}

20
system/services.nix Normal file
View file

@ -0,0 +1,20 @@
{ config, pkgs, ... }:
{
services = {
dbus.enable = true;
picom.enable = true;
openssh.enable = true;
xserver = {
enable = true;
layout = "us, ru, ge";
xkbOptions = "grp:alt_shift_toggle, caps:swapescape";
displayManager = {
sddm.enable = true;
};
};
};
}

21
system/sound.nix Normal file
View file

@ -0,0 +1,21 @@
{ pkgs, ... }:
{
sound.enable = true;
security.rtkit.enable = true;
hardware.pulseaudio.enable = false;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
wireplumber.enable = true;
};
environment.systemPackages = with pkgs; [
pamixer
pavucontrol
];
}

51
system/theme.nix Normal file
View file

@ -0,0 +1,51 @@
{ pkgs, ... }:
{
# Enable Theme
environment.variables.GTK_THEME = "Catppuccin-Macchiato-Standard-Teal-Dark";
environment.variables.XCURSOR_THEME = "Catppuccin-Macchiato-Teal";
environment.variables.XCURSOR_SIZE = "24";
console = {
earlySetup = true;
colors = [
"24273a"
"ed8796"
"a6da95"
"eed49f"
"8aadf4"
"f5bde6"
"8bd5ca"
"cad3f5"
"5b6078"
"ed8796"
"a6da95"
"eed49f"
"8aadf4"
"f5bde6"
"8bd5ca"
"a5adcb"
];
};
# Override packages
nixpkgs.config.packageOverrides = pkgs: {
colloid-icon-theme = pkgs.colloid-icon-theme.override { colorVariants = ["teal"]; };
catppuccin-gtk = pkgs.catppuccin-gtk.override {
accents = [ "teal" ]; # You can specify multiple accents here to output multiple themes
size = "standard";
variant = "macchiato";
};
discord = pkgs.discord.override {
withOpenASAR = true;
withTTS = true;
};
};
environment.systemPackages = with pkgs; [
catppuccin-cursors.macchiatoTeal
catppuccin-gtk
catppuccin-kvantum
colloid-icon-theme
numix-icon-theme-circle
];
}

5
system/time.nix Normal file
View file

@ -0,0 +1,5 @@
{ ... }:
{
time.timeZone = "Asia/Tbilisi";
}

21
system/users.nix Normal file
View file

@ -0,0 +1,21 @@
{ config, pkgs, ... }:
{
users.users.gpskwlkr = {
isNormalUser = true;
shell = pkgs.zsh;
extraGroups = [
"wheel"
"qemu"
"kvm"
"libvirtd"
"networkmanager"
"docker"
];
packages = with pkgs; [
firefox
tree
];
};
}

37
system/virtualisation.nix Normal file
View file

@ -0,0 +1,37 @@
{ pkgs, ... }:
{
virtualisation.libvirtd = {
enable = true;
qemu = {
swtpm.enable = true;
ovmf.enable = true;
ovmf.packages = [ pkgs.OVMFFull.fd ];
};
};
virtualisation.spiceUSBRedirection.enable = true;
services.spice-vdagentd.enable = true;
virtualisation.docker = {
enable = true;
enableOnBoot = true;
rootless = {
enable = true;
setSocketVariable = true;
};
};
environment.systemPackages = with pkgs; [
docker-compose
qemu
spice
spice-gtk
spice-protocol
virt-manager
virt-viewer
win-spice
win-virtio
];
}

11
system/work.nix Normal file
View file

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