initial commit
This commit is contained in:
commit
07d4f917bd
83 changed files with 3762 additions and 0 deletions
28
system/boot.nix
Normal file
28
system/boot.nix
Normal 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
8
system/fonts.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
fonts.packages = with pkgs; [
|
||||
nerdfonts
|
||||
font-awesome
|
||||
];
|
||||
}
|
||||
24
system/gaming.nix
Normal file
24
system/gaming.nix
Normal 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
13
system/hardware.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
hardware = {
|
||||
bluetooth.enable = true;
|
||||
|
||||
opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
24
system/hyprland.nix
Normal file
24
system/hyprland.nix
Normal 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
|
||||
];
|
||||
}
|
||||
23
system/internationalisation.nix
Normal file
23
system/internationalisation.nix
Normal 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
8
system/misc.nix
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
useXkbConfig = true;
|
||||
};
|
||||
}
|
||||
10
system/networking.nix
Normal file
10
system/networking.nix
Normal 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
32
system/nixsettings.nix
Normal 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
23
system/packages.nix
Normal 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
27
system/polkit.nix
Normal 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
19
system/programming.nix
Normal 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
78
system/programs.nix
Normal 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
7
system/security.nix
Normal 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
20
system/services.nix
Normal 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
21
system/sound.nix
Normal 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
51
system/theme.nix
Normal 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
5
system/time.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
time.timeZone = "Asia/Tbilisi";
|
||||
}
|
||||
21
system/users.nix
Normal file
21
system/users.nix
Normal 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
37
system/virtualisation.nix
Normal 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
11
system/work.nix
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
jetbrains.rider
|
||||
obsidian
|
||||
teams-for-linux
|
||||
thunderbird
|
||||
zoom-us
|
||||
];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue