mirror of
https://github.com/oqyude/nixos.git
synced 2026-06-11 04:30:41 +03:00
Init
This commit is contained in:
Executable
+38
@@ -0,0 +1,38 @@
|
||||
{
|
||||
disko.devices = {
|
||||
disk = {
|
||||
main = {
|
||||
device = "/dev/mmcblk0";
|
||||
type = "disk";
|
||||
content = {
|
||||
type = "gpt";
|
||||
partitions = {
|
||||
ESP = {
|
||||
type = "EF00";
|
||||
size = "512M";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "vfat";
|
||||
mountpoint = "/boot";
|
||||
};
|
||||
};
|
||||
swap = {
|
||||
size = "2G";
|
||||
content = {
|
||||
type = "swap";
|
||||
};
|
||||
};
|
||||
root = {
|
||||
size = "100%";
|
||||
content = {
|
||||
type = "filesystem";
|
||||
format = "ext4";
|
||||
mountpoint = "/";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = [
|
||||
"nvme"
|
||||
"xhci_pci"
|
||||
"usbhid"
|
||||
"usb_storage"
|
||||
"uas"
|
||||
"sd_mod"
|
||||
];
|
||||
kernelModules = [ ];
|
||||
};
|
||||
kernelModules = [ "kvm-amd" ];
|
||||
extraModulePackages = [ ];
|
||||
};
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-uuid/5938c796-6ff5-49d9-a3a6-022b4c32beeb";
|
||||
fsType = "ext4";
|
||||
};
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-uuid/61BF-3342";
|
||||
fsType = "vfat";
|
||||
options = [
|
||||
"fmask=0077"
|
||||
"dmask=0077"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
swapDevices = [
|
||||
{ device = "/dev/disk/by-uuid/d89bccd2-0672-4855-9d87-40e2688cdec4"; }
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp2s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.tailscale0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
hardware = {
|
||||
logitech = {
|
||||
wireless = {
|
||||
enable = true;
|
||||
enableGraphical = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
boot = {
|
||||
initrd = {
|
||||
availableKernelModules = [
|
||||
"ahci"
|
||||
"xhci_pci"
|
||||
"usbhid"
|
||||
"usb_storage"
|
||||
"sd_mod"
|
||||
"sdhci_pci"
|
||||
];
|
||||
};
|
||||
kernel = {
|
||||
sysctl = {
|
||||
"fs.inotify.max_user_watches" = "204800";
|
||||
};
|
||||
};
|
||||
kernelModules = [
|
||||
"kvm-intel"
|
||||
"coretemp"
|
||||
];
|
||||
};
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-partlabel/disk-main-root";
|
||||
fsType = "ext4";
|
||||
};
|
||||
"/boot" = {
|
||||
device = "/dev/disk/by-partlabel/disk-main-ESP";
|
||||
fsType = "vfat";
|
||||
options = [
|
||||
"fmask=0022"
|
||||
"dmask=0022"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
# fileSystems."/" =
|
||||
# { device = "/dev/disk/by-uuid/8acccc34-edc6-4934-886c-ef4b778ca24a";
|
||||
# fsType = "ext4";
|
||||
# };
|
||||
#
|
||||
# fileSystems."/boot" =
|
||||
# { device = "/dev/disk/by-uuid/DDF2-C940";
|
||||
# fsType = "vfat";
|
||||
# options = [ "fmask=0022" "dmask=0022" ];
|
||||
# };
|
||||
#
|
||||
# fileSystems."/home/otreca/External" =
|
||||
# { device = "/dev/disk/by-uuid/37e53ebc-5343-a94d-9fe2-0ca39e13a8de";
|
||||
# fsType = "ext4";
|
||||
# };
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.tailscale0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp3s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
Executable
+169
@@ -0,0 +1,169 @@
|
||||
{
|
||||
inputs,
|
||||
...
|
||||
}@flakeContext:
|
||||
let
|
||||
nixosModule =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports =
|
||||
with inputs;
|
||||
[
|
||||
./hardware/laptop.nix
|
||||
./hardware/logitech.nix
|
||||
self.nixosModules.default
|
||||
nixos-hardware.nixosModules.asus-fa506ic
|
||||
|
||||
self.nixosModules.software.wine
|
||||
self.nixosModules.desktop
|
||||
self.homeConfigurations.main.nixosModule
|
||||
self.homeConfigurations.root.nixosModule
|
||||
]
|
||||
++ builtins.attrValues inputs.self.nixosModules.extra.self;
|
||||
|
||||
fileSystems = {
|
||||
"${inputs.zeroq.dirs.therima-drive}" = {
|
||||
device = "/dev/disk/by-uuid/C0A2DDEFA2DDEA44";
|
||||
fsType = "ntfs3";
|
||||
options = [
|
||||
"defaults"
|
||||
"uid=1000"
|
||||
"gid=1000"
|
||||
"fmask=0007"
|
||||
"dmask=0007"
|
||||
"nofail"
|
||||
"x-systemd.device-timeout=0"
|
||||
];
|
||||
};
|
||||
"${inputs.zeroq.dirs.vetymae-drive}" = {
|
||||
device = "/dev/disk/by-uuid/6E04EA7F04EA49A3";
|
||||
fsType = "ntfs3";
|
||||
options = [
|
||||
"defaults"
|
||||
"uid=1000"
|
||||
"gid=1000"
|
||||
"fmask=0007"
|
||||
"dmask=0007"
|
||||
"nofail"
|
||||
"x-systemd.device-timeout=0"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
boot = {
|
||||
kernelPackages = lib.mkDefault pkgs.linuxPackages_xanmod_stable;
|
||||
loader = {
|
||||
systemd-boot.enable = lib.mkDefault true;
|
||||
efi.canTouchEfiVariables = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
hardware = {
|
||||
bluetooth.enable = true;
|
||||
# nvidia = {
|
||||
# open = true;
|
||||
# dynamicBoost.enable = true;
|
||||
# nvidiaSettings = true;
|
||||
# powerManagement = {
|
||||
# enable = false;
|
||||
# finegrained = false; # maybe comment this out idk what it does
|
||||
# };
|
||||
# #package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
# nvidiaPersistenced = true;
|
||||
# modesetting.enable = true;
|
||||
# prime = {
|
||||
# offload = {
|
||||
# enable = true;
|
||||
# enableOffloadCmd = true;
|
||||
# };
|
||||
# sync.enable = false;
|
||||
# amdgpuBusId = "PCI:6:0:0";
|
||||
# nvidiaBusId = "PCI:1:0:0";
|
||||
# };
|
||||
# };
|
||||
};
|
||||
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
networking = {
|
||||
hostName = "${inputs.zeroq.devices.laptop.hostname}";
|
||||
networkmanager.enable = true;
|
||||
firewall.enable = false;
|
||||
};
|
||||
|
||||
i18n = {
|
||||
extraLocaleSettings = {
|
||||
LC_ADDRESS = "ru_RU.UTF-8";
|
||||
LC_IDENTIFICATION = "ru_RU.UTF-8";
|
||||
LC_MEASUREMENT = "ru_RU.UTF-8";
|
||||
LC_MONETARY = "ru_RU.UTF-8";
|
||||
LC_NAME = "ru_RU.UTF-8";
|
||||
LC_NUMERIC = "ru_RU.UTF-8";
|
||||
LC_PAPER = "ru_RU.UTF-8";
|
||||
LC_TELEPHONE = "ru_RU.UTF-8";
|
||||
LC_TIME = "ru_RU.UTF-8";
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
xserver = {
|
||||
videoDrivers = [
|
||||
"amdgpu"
|
||||
"nvidia"
|
||||
];
|
||||
};
|
||||
syncthing = {
|
||||
enable = true;
|
||||
systemService = true;
|
||||
configDir = "${inputs.zeroq.dirs.user-storage}/Syncthing/${config.system.name}"; # ${inputs.zeroq.devices.laptop.hostname}
|
||||
dataDir = "${inputs.zeroq.dirs.user-home}";
|
||||
group = "users";
|
||||
user = "${inputs.zeroq.devices.admin}";
|
||||
};
|
||||
pipewire = {
|
||||
enable = lib.mkDefault true;
|
||||
systemWide = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
extraConfig.pipewire = {
|
||||
"99-default.conf" = {
|
||||
"context.properties" = {
|
||||
"default.clock.rate" = 96000;
|
||||
"default.clock.allowed-rates" = [
|
||||
44100
|
||||
48000
|
||||
96000
|
||||
];
|
||||
"default.clock.quantum" = 256;
|
||||
"default.clock.min-quantum" = 64;
|
||||
"default.clock.max-quantum" = 1024;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
thermald.enable = true;
|
||||
earlyoom.enable = true;
|
||||
preload.enable = true;
|
||||
};
|
||||
|
||||
security = {
|
||||
rtkit.enable = true;
|
||||
};
|
||||
|
||||
system.stateVersion = "25.05";
|
||||
};
|
||||
in
|
||||
inputs.nixpkgs.lib.nixosSystem {
|
||||
modules = [
|
||||
nixosModule
|
||||
inputs.sops-nix.nixosModules.sops
|
||||
];
|
||||
system = "x86_64-linux";
|
||||
}
|
||||
Executable
+31
@@ -0,0 +1,31 @@
|
||||
{
|
||||
inputs,
|
||||
...
|
||||
}@flakeContext:
|
||||
let
|
||||
nixosModule =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
system.nixos.label = "stock";
|
||||
|
||||
imports = with inputs; [
|
||||
self.nixosModules.default
|
||||
|
||||
nixos-hardware.nixosModules.chuwi-minibook-x
|
||||
home-manager.nixosModules.home-manager # home-manager module
|
||||
self.homeConfigurations.oqyude.nixosModule # home-manager configuration module
|
||||
];
|
||||
hardware.intel-gpu-tools.enable = true;
|
||||
};
|
||||
in
|
||||
inputs.nixpkgs.lib.nixosSystem {
|
||||
modules = with inputs; [
|
||||
nixosModule
|
||||
];
|
||||
system = "x86_64-linux";
|
||||
}
|
||||
@@ -0,0 +1,274 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
let
|
||||
nixosModule =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = with inputs; [
|
||||
./hardware/server.nix
|
||||
self.nixosModules.default
|
||||
|
||||
self.homeConfigurations.server.nixosModule # home-manager configuration module
|
||||
];
|
||||
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_xanmod_stable;
|
||||
hardwareScan = true;
|
||||
loader = {
|
||||
systemd-boot.enable = lib.mkDefault true;
|
||||
efi.canTouchEfiVariables = lib.mkDefault true;
|
||||
};
|
||||
};
|
||||
|
||||
hardware = {
|
||||
bluetooth.enable = false;
|
||||
};
|
||||
|
||||
#swapDevices =
|
||||
# [ { device = "/dev/disk/by-partlabel/disk-main-swap"; }
|
||||
# ];
|
||||
|
||||
users = {
|
||||
users = {
|
||||
"${inputs.zeroq.devices.admin}" = {
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKduJia+unaQQdN6X5syaHvnpIutO+yZwvfiCP4qKQ/P root@sapphira"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
fileSystems = {
|
||||
# External drive
|
||||
"${inputs.zeroq.dirs.server-home}" = {
|
||||
device = "/dev/disk/by-uuid/37e53ebc-5343-a94d-9fe2-0ca39e13a8de";
|
||||
fsType = "ext4";
|
||||
options = [
|
||||
"nofail"
|
||||
"x-systemd.device-timeout=0"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
nextcloud = {
|
||||
enable = false;
|
||||
package = pkgs.nextcloud30;
|
||||
hostName = "localhost:10000";
|
||||
database.createLocally = true;
|
||||
config = {
|
||||
dbtype = "mysql";
|
||||
dbuser = "nextcloud";
|
||||
#dbhost = "/run/postgresql";
|
||||
dbname = "nextcloud";
|
||||
adminuser = "root";
|
||||
#adminpassFile = "${inputs.zeroq.dirs.credentials-target}/nextcloud/admin-pass.txt";
|
||||
};
|
||||
settings = {
|
||||
appstoreEnable = false;
|
||||
log_type = "file";
|
||||
trusted_domains = [
|
||||
"100.64.0.0"
|
||||
"192.168.1.18"
|
||||
"localhost"
|
||||
];
|
||||
};
|
||||
extraAppsEnable = true;
|
||||
extraApps = {
|
||||
inherit (pkgs.nextcloud30Packages.apps)
|
||||
bookmarks
|
||||
calendar
|
||||
contacts
|
||||
cookbook
|
||||
cospend
|
||||
deck
|
||||
end_to_end_encryption
|
||||
forms
|
||||
gpoddersync
|
||||
groupfolders
|
||||
impersonate
|
||||
integration_paperless
|
||||
mail
|
||||
maps
|
||||
memories
|
||||
music
|
||||
notes
|
||||
notify_push
|
||||
onlyoffice
|
||||
polls
|
||||
previewgenerator
|
||||
richdocuments
|
||||
spreed
|
||||
tasks
|
||||
user_oidc
|
||||
user_saml
|
||||
whiteboard
|
||||
;
|
||||
};
|
||||
};
|
||||
earlyoom.enable = true;
|
||||
preload.enable = true;
|
||||
auto-cpufreq.enable = true;
|
||||
throttled.enable = true;
|
||||
nginx = {
|
||||
enable = false;
|
||||
recommendedGzipSettings = true;
|
||||
recommendedOptimisation = true;
|
||||
recommendedProxySettings = true;
|
||||
recommendedTlsSettings = true;
|
||||
virtualHosts = {
|
||||
"localhost:10000" = {
|
||||
forceSSL = false;
|
||||
enableACME = false;
|
||||
listen = [
|
||||
{
|
||||
addr = "100.64.0.0";
|
||||
port = 10000;
|
||||
}
|
||||
{
|
||||
addr = "192.168.1.18";
|
||||
port = 10000;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
postgresql = {
|
||||
enable = false;
|
||||
# ensureDatabases = [ "nextcloud" ];
|
||||
# ensureUsers = [
|
||||
# {
|
||||
# name = "nextcloud"; # Здесь не хватает строчек\\
|
||||
# }
|
||||
# ];
|
||||
};
|
||||
journald = {
|
||||
extraConfig = ''
|
||||
SystemMaxUse=128M
|
||||
'';
|
||||
};
|
||||
samba = {
|
||||
enable = true;
|
||||
settings = {
|
||||
global = {
|
||||
"invalid users" = [ ];
|
||||
"passwd program" = "/run/wrappers/bin/passwd %u";
|
||||
security = "user";
|
||||
};
|
||||
nixos = {
|
||||
"path" = "/etc/nixos";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"valid users" = "${inputs.zeroq.devices.admin}";
|
||||
"guest ok" = "no";
|
||||
"writable" = "yes";
|
||||
"create mask" = 644;
|
||||
"directory mask" = 644;
|
||||
"force user" = "root";
|
||||
"force group" = "root";
|
||||
};
|
||||
root = {
|
||||
"path" = "/";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"valid users" = "${inputs.zeroq.devices.admin}";
|
||||
"guest ok" = "no";
|
||||
"writable" = "yes";
|
||||
#"create mask" = 0644;
|
||||
#"directory mask" = 0644;
|
||||
"force user" = "root";
|
||||
"force group" = "root";
|
||||
};
|
||||
"${inputs.zeroq.devices.admin}" = {
|
||||
"path" = "${inputs.zeroq.dirs.server-home}";
|
||||
"browseable" = "yes";
|
||||
"read only" = "no";
|
||||
"valid users" = "${inputs.zeroq.devices.admin}";
|
||||
"guest ok" = "no";
|
||||
"writable" = "yes";
|
||||
"create mask" = 700;
|
||||
"directory mask" = 700;
|
||||
"force user" = "${inputs.zeroq.devices.admin}";
|
||||
"force group" = "users";
|
||||
};
|
||||
};
|
||||
};
|
||||
calibre-web = {
|
||||
enable = true;
|
||||
group = "users";
|
||||
user = "${inputs.zeroq.devices.admin}";
|
||||
options = {
|
||||
calibreLibrary = "${inputs.zeroq.dirs.calibre-library}";
|
||||
enableBookUploading = true;
|
||||
enableKepubify = false;
|
||||
};
|
||||
listen.ip = "0.0.0.0";
|
||||
listen.port = 8083;
|
||||
openFirewall = true;
|
||||
};
|
||||
openssh = {
|
||||
enable = true;
|
||||
allowSFTP = true;
|
||||
#knownHosts.otreca.publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJpMaD143EZqhRlpAgNINLrH/qXkN3zXmKgFJlhbhGwg";
|
||||
hostKeys = [
|
||||
{
|
||||
path = "/etc/ssh/id_ed25519";
|
||||
type = "ed25519";
|
||||
}
|
||||
];
|
||||
settings = {
|
||||
PasswordAuthentication = false;
|
||||
PermitRootLogin = "yes";
|
||||
UsePAM = true;
|
||||
};
|
||||
};
|
||||
transmission = {
|
||||
enable = true;
|
||||
credentialsFile = "${inputs.zeroq.dirs.server-home}/server/transmission/settings.json";
|
||||
openRPCPort = true;
|
||||
package = pkgs.transmission_4;
|
||||
user = "${inputs.zeroq.devices.admin}";
|
||||
group = "users";
|
||||
settings = {
|
||||
download-dir = "${inputs.zeroq.dirs.server-home}/Downloads";
|
||||
incomplete-dir = "${inputs.zeroq.dirs.server-home}/Downloads/Temp";
|
||||
incomplete-dir-enabled = true;
|
||||
rpc-bind-address = "0.0.0.0";
|
||||
rpc-port = 9091;
|
||||
rpc-whitelist-enabled = false;
|
||||
umask = 0;
|
||||
};
|
||||
};
|
||||
syncthing = {
|
||||
enable = true;
|
||||
systemService = true;
|
||||
guiAddress = "0.0.0.0:8384";
|
||||
configDir = "${inputs.zeroq.dirs.storage}/Syncthing/${inputs.zeroq.devices.server.hostname}";
|
||||
dataDir = "${inputs.zeroq.dirs.server-home}";
|
||||
group = "users";
|
||||
user = "${inputs.zeroq.devices.admin}";
|
||||
};
|
||||
tailscale.enable = true;
|
||||
};
|
||||
|
||||
networking = {
|
||||
hostName = "${inputs.zeroq.devices.server.hostname}";
|
||||
networkmanager.enable = true;
|
||||
firewall.enable = false;
|
||||
};
|
||||
|
||||
system = {
|
||||
stateVersion = "25.05";
|
||||
};
|
||||
};
|
||||
in
|
||||
inputs.nixpkgs.lib.nixosSystem {
|
||||
modules = with inputs; [
|
||||
nixosModule
|
||||
];
|
||||
system = "x86_64-linux";
|
||||
}
|
||||
Executable
+77
@@ -0,0 +1,77 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
let
|
||||
nixosModule =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
imports = [ <nixos-wsl/modules> ];
|
||||
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
supportedLocales = [
|
||||
"ru_RU.UTF-8/UTF-8"
|
||||
"en_US.UTF-8/UTF-8"
|
||||
];
|
||||
};
|
||||
|
||||
networking.hostName = "${inputs.zeroq.devices.wsl.username}";
|
||||
|
||||
users = {
|
||||
defaultUserShell = pkgs.zsh;
|
||||
};
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
btop
|
||||
fastfetch
|
||||
yazi
|
||||
];
|
||||
|
||||
programs = {
|
||||
lazygit.enable = true;
|
||||
git.enable = true;
|
||||
nh.enable = true;
|
||||
zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
enableBashCompletion = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
zsh-autoenv.enable = true;
|
||||
loginShellInit = "clear && fastfetch";
|
||||
ohMyZsh = {
|
||||
enable = true;
|
||||
theme = "robbyrussell";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
zramSwap.enable = true;
|
||||
services.earlyoom.enable = true;
|
||||
|
||||
wsl = {
|
||||
enable = true;
|
||||
startMenuLaunchers = true;
|
||||
#useWindowsDriver = true;
|
||||
defaultUser = "nixos";
|
||||
};
|
||||
|
||||
system.stateVersion = "24.05";
|
||||
};
|
||||
in
|
||||
inputs.nixpkgs.lib.nixosSystem {
|
||||
modules = [
|
||||
nixosModule
|
||||
];
|
||||
system = "x86_64-linux";
|
||||
}
|
||||
+536
@@ -0,0 +1,536 @@
|
||||
{
|
||||
"nodes": {
|
||||
"aagl": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"flake-compat"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747088856,
|
||||
"narHash": "sha256-zWSO9D3dUiLXQ6eY7sjFASLwsiH140AMORrJPm44DPI=",
|
||||
"owner": "ezKEa",
|
||||
"repo": "aagl-gtk-on-nix",
|
||||
"rev": "3448880953fc93666096d1e2878799d07a6c04db",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ezKEa",
|
||||
"repo": "aagl-gtk-on-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"disko": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746729224,
|
||||
"narHash": "sha256-9R4sOLAK1w3Bq54H3XOJogdc7a6C2bLLmatOQ+5pf5w=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "85555d27ded84604ad6657ecca255a03fd878607",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"locked": {
|
||||
"lastModified": 1747046372,
|
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743550720,
|
||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_2": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": "nixpkgs-lib_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1743550720,
|
||||
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "c621e8422220273271f52058f618c94e405bb0f5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-parts_3": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nur",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733312601,
|
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731533236,
|
||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"grub2-themes": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1734412921,
|
||||
"narHash": "sha256-JeMqc7lLowKn6klrCcOkcOg38yNqF7MPbN4Elh6Xvq0=",
|
||||
"owner": "vinceliuice",
|
||||
"repo": "grub2-themes",
|
||||
"rev": "f6ab2438e124f60a340a526543e498e5e33b3c53",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "vinceliuice",
|
||||
"repo": "grub2-themes",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747155932,
|
||||
"narHash": "sha256-NnPzzXEqfYjfrimLzK0JOBItfdEJdP/i6SNTuunCGgw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "8d832ddfda9facf538f3dda9b6985fb0234f151c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"musnix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741303672,
|
||||
"narHash": "sha256-eRKbKccBu3PK/oJpmUuLo+0v45d0SEjosE8tVsHbpeA=",
|
||||
"owner": "musnix",
|
||||
"repo": "musnix",
|
||||
"rev": "d56a15f30329f304151e4e05fa82264d127da934",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "musnix",
|
||||
"repo": "musnix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-gaming": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747101345,
|
||||
"narHash": "sha256-IjktcMUVCez262VtDAh9U9FCs8Cur+yagZpcJzDwdFY=",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"rev": "3b8f27e4a0b894dedc07f398b5ef1a747861fea3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-index-database": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746934494,
|
||||
"narHash": "sha256-3n6i+F0sDASjkhbvgFDpPDZGp7z19IrRtjfF9TwJpCA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "e9b21b01e4307176b9718a29ac514838e7f6f4ff",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1747129300,
|
||||
"narHash": "sha256-L3clA5YGeYCF47ghsI7Tcex+DnaaN/BbQ4dR2wzoiKg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "e81fd167b33121269149c57806599045fd33eeed",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "master",
|
||||
"repo": "nixos-hardware",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1746576598,
|
||||
"narHash": "sha256-FshoQvr6Aor5SnORVvh/ZdJ1Sa2U4ZrIMwKBX5k2wu0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b3582c75c7f21ce0b429898980eddbbf05c68e55",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-last-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1746269363,
|
||||
"narHash": "sha256-Q0lKWway9OmZnkDTpAoAE9VLXHOHqCqdJ3N0tkSM99g=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b6aef6c3553f849e1e6c08f1bcd3061df2b69fc4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b6aef6c3553f849e1e6c08f1bcd3061df2b69fc4",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1743296961,
|
||||
"narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"lastModified": 1743296961,
|
||||
"narHash": "sha256-b1EdN3cULCqtorQ4QeWgLMrd5ZGOjLSLemfa00heasc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "e4822aea2a6d1cdd36653c134cacfd64c97ff4fa",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1746957726,
|
||||
"narHash": "sha256-k9ut1LSfHCr0AW82ttEQzXVCqmyWVA5+SHJkS5ID/Jo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a39ed32a651fdee6842ec930761e31d1f242cb94",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1747060738,
|
||||
"narHash": "sha256-ByfPRQuqj+nhtVV0koinEpmJw0KLzNbgcgi9EF+NVow=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "eaeed9530c76ce5f1d2d8232e08bec5e26f18ec1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1747060738,
|
||||
"narHash": "sha256-ByfPRQuqj+nhtVV0koinEpmJw0KLzNbgcgi9EF+NVow=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "eaeed9530c76ce5f1d2d8232e08bec5e26f18ec1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nur": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1747151055,
|
||||
"narHash": "sha256-zCGpF8BREFvzkSqgfEBgIcqtrnT8e9IqNQ3Zqe+OOk4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "33dadfb985b667b866d1175a8519b7583a38ef63",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nypkgs": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1744125335,
|
||||
"narHash": "sha256-yH1bbLTB/Ozhg7ScAXiJKzW1GZ4Y4+VlS9HCmIZDyME=",
|
||||
"owner": "yunfachi",
|
||||
"repo": "nypkgs",
|
||||
"rev": "e9a5d894690e9205e28839ef9289ee2baa3f017c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "yunfachi",
|
||||
"repo": "nypkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"plasma-manager": {
|
||||
"inputs": {
|
||||
"home-manager": [
|
||||
"home-manager"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1742765550,
|
||||
"narHash": "sha256-2vVIh2JrL6GAGfgCeY9e6iNKrBjs0Hw3bGQEAbwVs68=",
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"rev": "b70be387276e632fe51232887f9e04e2b6ef8c16",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"aagl": "aagl",
|
||||
"disko": "disko",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-parts": "flake-parts",
|
||||
"flake-utils": "flake-utils",
|
||||
"grub2-themes": "grub2-themes",
|
||||
"home-manager": "home-manager",
|
||||
"musnix": "musnix",
|
||||
"nix-gaming": "nix-gaming",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs-last-unstable": "nixpkgs-last-unstable",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"nur": "nur",
|
||||
"nypkgs": "nypkgs",
|
||||
"plasma-manager": "plasma-manager",
|
||||
"sops-nix": "sops-nix",
|
||||
"zapret": "zapret",
|
||||
"zeroq": "zeroq"
|
||||
}
|
||||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1746485181,
|
||||
"narHash": "sha256-PxrrSFLaC7YuItShxmYbMgSuFFuwxBB+qsl9BZUnRvg=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "e93ee1d900ad264d65e9701a5c6f895683433386",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nur",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1733222881,
|
||||
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zapret": {
|
||||
"locked": {
|
||||
"lastModified": 1745932796,
|
||||
"narHash": "sha256-nbQNqqtLUF7FNg0FfT+V/qvRtTanSA4O3c3e/lto5oU=",
|
||||
"owner": "oqyude",
|
||||
"repo": "zapret-easyflake",
|
||||
"rev": "dd2c75127343d08cf0a5fa8d15bdfe016d2691c5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oqyude",
|
||||
"repo": "zapret-easyflake",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"zeroq": {
|
||||
"locked": {
|
||||
"path": "./modules/zeroq",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "./modules/zeroq",
|
||||
"type": "path"
|
||||
},
|
||||
"parent": []
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
||||
@@ -0,0 +1,127 @@
|
||||
{
|
||||
description = "oqyude flake";
|
||||
|
||||
inputs = {
|
||||
|
||||
# My
|
||||
zeroq.url = "path:./modules/zeroq"; # flake of variables
|
||||
zapret.url = "github:oqyude/zapret-easyflake"; # stupid flake of zapret
|
||||
|
||||
# nixpkgs
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; # b6aef6c3553f849e1e6c08f1bcd3061df2b69fc4
|
||||
nixpkgs-last-unstable.url = "github:NixOS/nixpkgs/b6aef6c3553f849e1e6c08f1bcd3061df2b69fc4"; # 507b63021ada5fee621b6ca371c4fca9ca46f52c
|
||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
|
||||
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-24.11";
|
||||
|
||||
# nix-community
|
||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||
flake-compat.url = "github:edolstra/flake-compat";
|
||||
flake-utils.url = "github:numtide/flake-utils";
|
||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||
nur = {
|
||||
url = "github:nix-community/NUR";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager"; # flake:home-manager
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
disko = {
|
||||
url = "github:nix-community/disko";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
plasma-manager = {
|
||||
# https://github.com/nix-community/plasma-manager
|
||||
url = "github:nix-community/plasma-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.home-manager.follows = "home-manager";
|
||||
};
|
||||
nix-index-database = {
|
||||
url = "github:nix-community/nix-index-database";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# extras
|
||||
nix-gaming.url = "github:fufexan/nix-gaming";
|
||||
aagl = {
|
||||
url = "github:ezKEa/aagl-gtk-on-nix";
|
||||
inputs = {
|
||||
nixpkgs.follows = "nixpkgs";
|
||||
flake-compat.follows = "flake-compat";
|
||||
};
|
||||
};
|
||||
musnix = {
|
||||
url = "github:musnix/musnix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
grub2-themes = {
|
||||
url = "github:vinceliuice/grub2-themes";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
nypkgs = {
|
||||
# https://github.com/yunfachi/nypkgs
|
||||
url = "github:yunfachi/nypkgs";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
sops-nix = {
|
||||
url = "github:Mic92/sops-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
# stylix = {
|
||||
# url = "github:danth/stylix";
|
||||
# inputs = {
|
||||
# nixpkgs.follows = "nixpkgs";
|
||||
# home-manager.follows = "home-manager";
|
||||
# flake-compat.follows = "flake-compat";
|
||||
# flake-utils.follows = "flake-utils";
|
||||
# };
|
||||
# };
|
||||
|
||||
};
|
||||
outputs =
|
||||
inputs:
|
||||
let
|
||||
flakeContext = { inherit inputs; };
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
atoridu = import ./devices/laptop.nix flakeContext; # atoridu
|
||||
lamet = import ./devices/mini-laptop.nix flakeContext; # lamet
|
||||
sapphira = import ./devices/server.nix flakeContext; # sapphira
|
||||
wsl = import ./devices/wsl.nix flakeContext; # wsl
|
||||
};
|
||||
nixosModules = {
|
||||
default = import ./modules/default.nix flakeContext;
|
||||
desktop = import ./modules/desktop/default.nix flakeContext;
|
||||
software = {
|
||||
daw = import ./modules/software/daw.nix flakeContext;
|
||||
virtual = import ./modules/software/virtual.nix flakeContext;
|
||||
wine = import ./modules/software/wine.nix flakeContext;
|
||||
};
|
||||
extra = {
|
||||
self = {
|
||||
fingerprint = import ./modules/extra/self/fingerprint.nix flakeContext;
|
||||
zapret = import ./modules/extra/self/zapret.nix flakeContext;
|
||||
};
|
||||
musnix = import ./modules/extra/musnix.nix flakeContext; # https://github.com/musnix/musnix
|
||||
gaming = {
|
||||
nix-gaming = import ./modules/extra/gaming/nix-gaming.nix flakeContext; # https://github.com/fufexan/nix-gaming
|
||||
aagl = import ./modules/extra/gaming/aagl.nix flakeContext; # https://github.com/ezKEa/aagl-gtk-on-nix
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
homeConfigurations = {
|
||||
root = import ./home/root.nix flakeContext;
|
||||
main = import ./home/main.nix flakeContext;
|
||||
server = import ./home/server.nix flakeContext;
|
||||
};
|
||||
homeModules = {
|
||||
packages = import ./home/modules/packages.nix flakeContext;
|
||||
default = import ./home/modules/default.nix flakeContext;
|
||||
dconf = import ./home/modules/dconf.nix flakeContext;
|
||||
beets = import ./home/modules/beets.nix flakeContext;
|
||||
plasma-manager = import ./home/modules/plasma-manager.nix flakeContext;
|
||||
};
|
||||
};
|
||||
}
|
||||
Executable
+107
@@ -0,0 +1,107 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
let
|
||||
homeModule =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [ ] ++ (builtins.attrValues inputs.self.homeModules);
|
||||
xdg = {
|
||||
enable = true;
|
||||
autostart.enable = true;
|
||||
configFile = {
|
||||
"ludusavi" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.user-storage}/ludusavi/cfg";
|
||||
target = "ludusavi";
|
||||
};
|
||||
"nekoray" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.user-storage}/Nekoray/${config.home.username}";
|
||||
target = "nekoray";
|
||||
};
|
||||
"solaar" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.user-storage}/solaar";
|
||||
target = "solaar";
|
||||
};
|
||||
"easyeffects" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.user-storage}/easyeffects";
|
||||
target = "easyeffects";
|
||||
};
|
||||
"keepassxc" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.user-storage}/KeePassXC";
|
||||
target = "keepassxc";
|
||||
};
|
||||
};
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = true;
|
||||
desktop = "${config.xdg.dataHome}/desktop";
|
||||
documents = null;
|
||||
download = "${config.home.homeDirectory}/Downloads";
|
||||
music = "${config.home.homeDirectory}/Music";
|
||||
pictures = "${config.home.homeDirectory}/Pictures";
|
||||
publicShare = "${config.home.homeDirectory}/Misc/Public";
|
||||
templates = null;
|
||||
videos = "${config.home.homeDirectory}/Pictures/Videos";
|
||||
};
|
||||
};
|
||||
|
||||
home = {
|
||||
username = "${inputs.zeroq.devices.admin}";
|
||||
file = {
|
||||
"ssh" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.user-storage}/SSH/${config.home.username}";
|
||||
target = ".ssh";
|
||||
};
|
||||
"External" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.therima-drive}";
|
||||
target = "External";
|
||||
};
|
||||
"Music" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Music";
|
||||
target = "Music";
|
||||
};
|
||||
"Pictures" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Pictures";
|
||||
target = "Pictures";
|
||||
};
|
||||
"Deploy" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Deploy";
|
||||
target = "Deploy";
|
||||
};
|
||||
"Misc" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.vetymae-drive}/Users/User/Misc";
|
||||
target = "Misc";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
nixosModule =
|
||||
{ config, ... }:
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${inputs.zeroq.devices.admin} = homeModule;
|
||||
sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
|
||||
extraSpecialArgs = {
|
||||
#inherit inputs;
|
||||
inherit (config.networking) hostName;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
in
|
||||
(
|
||||
(inputs.home-manager.lib.homeManagerConfiguration {
|
||||
modules = [
|
||||
homeModule
|
||||
];
|
||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||
})
|
||||
// {
|
||||
inherit nixosModule;
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,38 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
unstable = import inputs.nixpkgs-unstable { system = "x86_64-linux"; };
|
||||
last-stable = import inputs.nixpkgs-last-unstable { system = "x86_64-linux"; };
|
||||
in
|
||||
{
|
||||
dconf = {
|
||||
settings = {
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = [ "qemu:///system" ];
|
||||
uris = [ "qemu:///system" ];
|
||||
};
|
||||
"org/gnome/shell" = {
|
||||
disable-user-extensions = false;
|
||||
enabled-extensions = with pkgs.gnomeExtensions; [
|
||||
dash-to-panel.extensionUuid
|
||||
arcmenu.extensionUuid
|
||||
vitals.extensionUuid
|
||||
appindicator.extensionUuid
|
||||
];
|
||||
disabled-extensions = [ ];
|
||||
};
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-light";
|
||||
enable-hot-corners = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home = {
|
||||
stateVersion = lib.mkDefault "25.05";
|
||||
homeDirectory = lib.mkDefault "/home/${config.home.username}";
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
unstable = import inputs.nixpkgs-unstable { system = "x86_64-linux"; };
|
||||
last-stable = import inputs.nixpkgs-last-unstable { system = "x86_64-linux"; };
|
||||
stable = import inputs.nixpkgs-stable { system = "x86_64-linux"; };
|
||||
in
|
||||
{
|
||||
programs = {
|
||||
fastfetch.enable = true;
|
||||
btop.enable = true;
|
||||
mangohud.enable = true;
|
||||
keepassxc.enable = true;
|
||||
zed-editor = {
|
||||
enable = true;
|
||||
extensions = [
|
||||
"nix"
|
||||
];
|
||||
userSettings = {
|
||||
"telemetry" = {
|
||||
"diagnostics" = false;
|
||||
"metrics" = false;
|
||||
};
|
||||
"ui_font_size" = 20;
|
||||
"buffer_font_size" = 26;
|
||||
"theme" = {
|
||||
"mode" = "system";
|
||||
"light" = "Ayu Light";
|
||||
"dark" = "Ayu Dark";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
services = {
|
||||
kdeconnect.enable = true;
|
||||
easyeffects.enable = true;
|
||||
};
|
||||
home = {
|
||||
packages = with pkgs; [
|
||||
# Surfing
|
||||
(brave.override {
|
||||
commandLineArgs = [
|
||||
"--password-store=basic" # on purpose to make it break "--password-store=gnome-libsecret"
|
||||
];
|
||||
})
|
||||
nekoray
|
||||
|
||||
# Workflow
|
||||
_64gram
|
||||
discord
|
||||
gramps
|
||||
kdePackages.filelight
|
||||
libreoffice-qt6
|
||||
localsend
|
||||
lollypop
|
||||
obsidian
|
||||
pdfarranger
|
||||
stretchly
|
||||
transmission_4-gtk
|
||||
vlc
|
||||
#zerotierone
|
||||
#tg
|
||||
#reaper
|
||||
|
||||
# Games
|
||||
ludusavi
|
||||
prismlauncher
|
||||
lutris
|
||||
|
||||
# Libs
|
||||
libsecret
|
||||
|
||||
# Display
|
||||
#edid-decode
|
||||
#displaycal
|
||||
#argyllcms
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs = {
|
||||
kate = {
|
||||
enable = true;
|
||||
editor = {
|
||||
brackets = {
|
||||
automaticallyAddClosing = true;
|
||||
highlightMatching = true;
|
||||
};
|
||||
font = {
|
||||
family = "Hack";
|
||||
pointSize = 14;
|
||||
};
|
||||
};
|
||||
};
|
||||
plasma = {
|
||||
enable = true;
|
||||
overrideConfig = false;
|
||||
configFile = {
|
||||
dolphinrc = {
|
||||
"General" = {
|
||||
"RememberOpenedTabs" = true;
|
||||
};
|
||||
"DetailsMode" = {
|
||||
"ExpandableFolders" = false;
|
||||
"PreviewSize" = 32;
|
||||
"IconSize" = 32;
|
||||
};
|
||||
};
|
||||
"katerc" = {
|
||||
"KTextEditor View" = {
|
||||
"Scroll Bar MiniMap" = false;
|
||||
"Scroll Bar Preview" = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
input = {
|
||||
# /proc/bus/input/devices
|
||||
mice = [
|
||||
{
|
||||
acceleration = -0.2;
|
||||
accelerationProfile = "none";
|
||||
enable = true;
|
||||
leftHanded = false;
|
||||
middleButtonEmulation = false;
|
||||
name = "Logitech USB Receiver Mouse";
|
||||
naturalScroll = false;
|
||||
productId = "c548";
|
||||
scrollSpeed = 1;
|
||||
vendorId = "046d";
|
||||
}
|
||||
];
|
||||
touchpads = [
|
||||
{
|
||||
accelerationProfile = "none";
|
||||
disableWhileTyping = true;
|
||||
enable = true;
|
||||
leftHanded = true;
|
||||
middleButtonEmulation = false;
|
||||
name = "ELAN1203:00 04F3:307A Touchpad";
|
||||
naturalScroll = true;
|
||||
pointerSpeed = 0;
|
||||
productId = "307a";
|
||||
rightClickMethod = "bottomRight";
|
||||
scrollMethod = "twoFingers";
|
||||
tapDragLock = false;
|
||||
tapToClick = true;
|
||||
twoFingerTap = "rightClick";
|
||||
vendorId = "04f3";
|
||||
}
|
||||
];
|
||||
keyboard = {
|
||||
switchingPolicy = "global";
|
||||
# options = [
|
||||
# "altshift"
|
||||
# ];
|
||||
layouts = [
|
||||
{
|
||||
layout = "us";
|
||||
}
|
||||
{
|
||||
layout = "ru";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
workspace = {
|
||||
#clickItemTo = "open"; # If you liked the click-to-open default from plasma 5
|
||||
lookAndFeel = "com.github.vinceliuice.WhiteSur-alt";
|
||||
colorScheme = "WhiteSurAlt";
|
||||
theme = "WhiteSur-Alt";
|
||||
iconTheme = "WhiteSur";
|
||||
cursor = {
|
||||
theme = "Qogir";
|
||||
size = 24;
|
||||
};
|
||||
#wallpaper = "${config.home.homeDirectory}//Misc/Desktops/Wallpapers/Desktop/END_Circle_7.png";
|
||||
#windowDecorations = {
|
||||
# library = "org.kde.kwin.aurorae";
|
||||
# theme = "__aurorae__svg__WhiteSur";
|
||||
#};
|
||||
};
|
||||
kwin = {
|
||||
edgeBarrier = 0; # Disables the edge-barriers introduced in plasma 6.1
|
||||
cornerBarrier = false;
|
||||
#scripts.polonium.enable = true;
|
||||
nightLight = {
|
||||
enable = true;
|
||||
mode = "constant";
|
||||
temperature.night = 5800;
|
||||
};
|
||||
effects.shakeCursor.enable = false;
|
||||
virtualDesktops = {
|
||||
number = 2;
|
||||
rows = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Executable
+41
@@ -0,0 +1,41 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
let
|
||||
homeModule =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = with inputs; [
|
||||
self.homeModules.default
|
||||
self.homeModules.plasma-manager
|
||||
];
|
||||
home = {
|
||||
username = "root";
|
||||
homeDirectory = "/${config.home.username}";
|
||||
};
|
||||
};
|
||||
nixosModule =
|
||||
{ ... }:
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.root = homeModule;
|
||||
sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
|
||||
};
|
||||
};
|
||||
in
|
||||
(
|
||||
(inputs.home-manager.lib.homeManagerConfiguration {
|
||||
modules = [
|
||||
homeModule
|
||||
];
|
||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||
})
|
||||
// {
|
||||
inherit nixosModule;
|
||||
}
|
||||
)
|
||||
Executable
+59
@@ -0,0 +1,59 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
let
|
||||
homeModule =
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [ inputs.self.homeModules.default ];
|
||||
xdg = {
|
||||
enable = true;
|
||||
autostart.enable = true;
|
||||
userDirs = {
|
||||
enable = true;
|
||||
createDirectories = false;
|
||||
desktop = null;
|
||||
documents = null;
|
||||
download = null;
|
||||
music = null;
|
||||
pictures = null;
|
||||
publicShare = null;
|
||||
templates = null;
|
||||
videos = null;
|
||||
};
|
||||
};
|
||||
home = {
|
||||
file = {
|
||||
"ssh" = {
|
||||
source = config.lib.file.mkOutOfStoreSymlink "${inputs.zeroq.dirs.storage}/SSH/${inputs.zeroq.devices.server.hostname}";
|
||||
target = ".ssh";
|
||||
};
|
||||
};
|
||||
username = "${inputs.zeroq.devices.admin}";
|
||||
};
|
||||
|
||||
};
|
||||
nixosModule =
|
||||
{ ... }:
|
||||
{
|
||||
home-manager = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
users.${inputs.zeroq.devices.admin} = homeModule;
|
||||
};
|
||||
};
|
||||
in
|
||||
(
|
||||
(inputs.home-manager.lib.homeManagerConfiguration {
|
||||
modules = [
|
||||
homeModule
|
||||
];
|
||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||
})
|
||||
// {
|
||||
inherit nixosModule;
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
imports = inputs.nypkgs.legacyPackages.${pkgs.system}.lib.umport {
|
||||
path = ./.;
|
||||
include = [
|
||||
./somed4/somef3.nix
|
||||
];
|
||||
exclude = [
|
||||
./somed4
|
||||
./somef4.nix
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./essentials
|
||||
#./services
|
||||
|
||||
# Flake modules
|
||||
inputs.home-manager.nixosModules.home-manager # home-manager module
|
||||
inputs.nix-index-database.nixosModules.nix-index
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
# Setup DE, xserver and bootloader
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./environment/kde.nix
|
||||
#./environment/gnome.nix
|
||||
#./environment/budgie.nix
|
||||
#./environment/deepin.nix
|
||||
|
||||
./environment/theming.nix
|
||||
|
||||
inputs.grub2-themes.nixosModules.default # grub2 themes module
|
||||
];
|
||||
|
||||
boot = {
|
||||
plymouth = {
|
||||
enable = true;
|
||||
theme = "bgrt";
|
||||
};
|
||||
consoleLogLevel = 3; # Enable "Silent boot"
|
||||
initrd.verbose = false;
|
||||
kernelParams = [
|
||||
"quiet"
|
||||
"splash"
|
||||
"boot.shell_on_fail"
|
||||
"udev.log_priority=3"
|
||||
"rd.systemd.show_status=auto"
|
||||
];
|
||||
loader = {
|
||||
timeout = 2;
|
||||
efi.canTouchEfiVariables = lib.mkForce false;
|
||||
systemd-boot.enable = lib.mkForce false;
|
||||
grub = {
|
||||
enable = lib.mkForce true;
|
||||
useOSProber = true;
|
||||
efiInstallAsRemovable = true;
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
};
|
||||
grub2-theme = {
|
||||
enable = true;
|
||||
theme = "whitesur";
|
||||
icon = "whitesur";
|
||||
footer = true;
|
||||
customResolution = "1920x1080"; # Optional: Set a custom resolution
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
hardware.graphics.enable = true;
|
||||
programs = {
|
||||
adb.enable = true;
|
||||
dconf.enable = true;
|
||||
gamemode.enable = true;
|
||||
steam.enable = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
services = {
|
||||
xserver = {
|
||||
enable = true;
|
||||
xkb = {
|
||||
layout = "us,ru";
|
||||
variant = "";
|
||||
options = "grp:alt_shift_toggle";
|
||||
};
|
||||
};
|
||||
libinput.enable = true;
|
||||
colord.enable = true;
|
||||
printing = {
|
||||
enable = true;
|
||||
cups-pdf.enable = true;
|
||||
};
|
||||
};
|
||||
environment.sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
|
||||
# environment = {
|
||||
# systemPackages = with pkgs; [
|
||||
# ];
|
||||
# };
|
||||
# systemd.services.xiccd = { # Color Profiler bus for x11
|
||||
# enable = false;
|
||||
# description = "Xiccd Screen Color Profiler";
|
||||
# serviceConfig = {
|
||||
# ExecStart = "${pkgs.xiccd}/bin/xiccd";
|
||||
# ExecStop = "pkill xiccd";
|
||||
# Restart = "always";
|
||||
# };
|
||||
# wantedBy = [ "dbus.service" ];
|
||||
# after = [ "dbus.service" ];
|
||||
# partOf = [ "dbus.service" ];
|
||||
# };
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
services.xserver.windowManager.bspwm.enable = true;
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
services.xserver.displayManager.lightdm.enable = true;
|
||||
#services.displayManager.defaultSession = "lomiri";
|
||||
# services.xserver.desktopManager.budgie.enable = true;
|
||||
#services.xserver.displayManager.lightdm.greeters.lomiri.enable= true;
|
||||
|
||||
#services.desktopManager.lomiri.enable = true;
|
||||
#-services.xserver.desktopManager.mate.enable = true;
|
||||
#-services.xserver.desktopManager.lxqt.enable = true;
|
||||
# services.xserver.desktopManager.lumina.enable = true;
|
||||
# services.xserver.desktopManager.cde.enable = true;
|
||||
# services.xserver.desktopManager.cinnamon.enable = true;
|
||||
# services.xserver.desktopManager.enlightenment.enable = true;
|
||||
# services.desktopManager.cosmic.xwayland.enable = true;
|
||||
# services.desktopManager.cosmic.enable = true;
|
||||
|
||||
# services.xserver = {
|
||||
# enable = true;
|
||||
# desktopManager = {
|
||||
# #xterm.enable = false;
|
||||
# xfce.enable = true;
|
||||
# xfce.enableWaylandSession = true;
|
||||
# };
|
||||
# };
|
||||
|
||||
#- services.xserver.desktopManager.pantheon.enable = true;
|
||||
#- services.pantheon.apps.enable = true;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
|
||||
# services.xserver = {
|
||||
# enable = true;
|
||||
# desktopManager = {
|
||||
# #xterm.enable = false;
|
||||
# xfce.enable = true;
|
||||
# };
|
||||
# };
|
||||
|
||||
services.xserver.displayManager.lightdm.enable = true;
|
||||
services.xserver.desktopManager.deepin.enable = true;
|
||||
services.deepin.deepin-anything.enable = true;
|
||||
services.deepin.dde-daemon.enable = true;
|
||||
services.deepin.dde-api.enable = true;
|
||||
services.deepin.app-services.enable = true;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs.dconf.enable = true;
|
||||
environment = {
|
||||
gnome.excludePackages = with pkgs; [
|
||||
cheese # webcam tool
|
||||
epiphany # web browser
|
||||
#evince # document viewer
|
||||
geary # email reader
|
||||
gnome-characters
|
||||
gnome-music
|
||||
gnome-user-docs
|
||||
gnome-tour
|
||||
];
|
||||
systemPackages = with pkgs; [
|
||||
gnomeExtensions.appindicator
|
||||
gnomeExtensions.dash-to-panel
|
||||
gnomeExtensions.arcmenu
|
||||
gnomeExtensions.vitals
|
||||
gnomeExtensions.user-themes
|
||||
gnome-tweaks
|
||||
dconf-editor
|
||||
dconf2nix
|
||||
|
||||
gnome-color-manager
|
||||
];
|
||||
};
|
||||
services = {
|
||||
udev.packages = with pkgs; [ gnome-settings-daemon ];
|
||||
xserver = {
|
||||
displayManager.gdm = {
|
||||
enable = true;
|
||||
wayland = true;
|
||||
};
|
||||
desktopManager.gnome.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
qt = {
|
||||
enable = true;
|
||||
style = "breeze";
|
||||
platformTheme = "kde6"; # kde6
|
||||
};
|
||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||
plasma-browser-integration
|
||||
elisa
|
||||
# kwallet
|
||||
# kwallet-pam
|
||||
# kwalletmanager
|
||||
];
|
||||
services = {
|
||||
displayManager = {
|
||||
sddm = {
|
||||
enable = true;
|
||||
theme = "WhiteSur-light";
|
||||
wayland = {
|
||||
enable = true;
|
||||
compositor = "kwin";
|
||||
};
|
||||
};
|
||||
};
|
||||
desktopManager.plasma6.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
whitesur-gtk-theme
|
||||
whitesur-icon-theme
|
||||
#whitesur-cursors
|
||||
whitesur-kde
|
||||
qogir-icon-theme
|
||||
#qogir-theme
|
||||
#qogir-kde
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
./packages.nix
|
||||
./programs.nix
|
||||
./services.nix
|
||||
./settings.nix
|
||||
./tty.nix
|
||||
./users.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
# Nix
|
||||
nixfmt-tree
|
||||
nix-diff
|
||||
|
||||
# Base
|
||||
mc
|
||||
yazi
|
||||
pciutils
|
||||
smartmontools
|
||||
efibootmgr
|
||||
usbutils
|
||||
|
||||
# Data
|
||||
wget
|
||||
curl
|
||||
rsync
|
||||
fdupes
|
||||
|
||||
# Disk
|
||||
gparted
|
||||
parted
|
||||
ntfs3g
|
||||
exfatprogs # for gparted exfat support
|
||||
|
||||
# Archivers
|
||||
rar
|
||||
unzip
|
||||
zstd
|
||||
zip
|
||||
xarchiver
|
||||
|
||||
# Net
|
||||
ipset
|
||||
iptables
|
||||
nftables
|
||||
|
||||
# Monitoring
|
||||
btop
|
||||
fastfetch
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
{
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
programs = {
|
||||
git = {
|
||||
enable = true;
|
||||
config = {
|
||||
user = {
|
||||
name = "oqyude";
|
||||
email = "oqyude@gmail.com";
|
||||
};
|
||||
};
|
||||
};
|
||||
lazygit.enable = true;
|
||||
command-not-found.enable = false;
|
||||
nix-index.enable = true;
|
||||
nh = {
|
||||
enable = true;
|
||||
flake = "/etc/nixos";
|
||||
clean = {
|
||||
enable = true;
|
||||
extraArgs = "--keep 3 --keep-since 2d";
|
||||
dates = "daily";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
services = {
|
||||
tailscale.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
{
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
system.nixos.label = "default";
|
||||
|
||||
nix = {
|
||||
settings = {
|
||||
substituters = [
|
||||
"https://nixos-cache-proxy.cofob.dev" # https://gist.github.com/cofob/9b1fd205e6d961a45c225ae9f0af1394
|
||||
"https://nix-community.cachix.org"
|
||||
];
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [
|
||||
"nix-command"
|
||||
"flakes"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
security = {
|
||||
sudo.wheelNeedsPassword = false;
|
||||
polkit = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if ((action.id == "org.gnome.gparted" || // for gnome
|
||||
action.id == "org.freedesktop.policykit.exec") && // for desktop, nekoray
|
||||
subject.isInGroup("wheel")){ // for sudo
|
||||
return polkit.Result.YES;
|
||||
}
|
||||
});
|
||||
'';
|
||||
};
|
||||
};
|
||||
systemd.network.wait-online.enable = false;
|
||||
|
||||
time.timeZone = "Europe/Moscow";
|
||||
i18n = {
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
supportedLocales = [
|
||||
#"C.UTF-8/UTF-8"
|
||||
"en_US.UTF-8/UTF-8"
|
||||
"ru_RU.UTF-8/UTF-8"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
system.userActivationScripts.zshrc = "touch .zshrc";
|
||||
users.defaultUserShell = pkgs.zsh;
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
enableBashCompletion = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
zsh-autoenv.enable = true;
|
||||
histSize = 10000;
|
||||
loginShellInit = "cd /etc/nixos && clear && fastfetch";
|
||||
ohMyZsh = {
|
||||
enable = true;
|
||||
theme = "robbyrussell";
|
||||
};
|
||||
shellAliases = {
|
||||
# shell
|
||||
ff = "clear && fastfetch";
|
||||
l = "ls -l";
|
||||
|
||||
# ssh
|
||||
s-1 = "ssh sapphira-1";
|
||||
s-1t = "ssh sapphira-1t";
|
||||
|
||||
# Somethings
|
||||
reboot-bios = "sudo systemctl reboot --firmware-setup";
|
||||
|
||||
# Extras
|
||||
plasma-manager = "nix run github:nix-community/plasma-manager";
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
{
|
||||
config,
|
||||
...
|
||||
}:
|
||||
{
|
||||
users = {
|
||||
users = {
|
||||
oqyude = {
|
||||
isNormalUser = true;
|
||||
description = "Jor Oqyude";
|
||||
initialPassword = "1234";
|
||||
extraGroups = [
|
||||
"audio"
|
||||
"disk"
|
||||
"gamemode"
|
||||
"libvirtd"
|
||||
"networkmanager"
|
||||
"pipewire"
|
||||
"qemu-libvirtd"
|
||||
"wheel"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
# https://github.com/ezKEa/aagl-gtk-on-nix
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [ inputs.aagl.nixosModules.default ];
|
||||
nix.settings = inputs.aagl.nixConfig; # Set up Cachix
|
||||
programs = {
|
||||
anime-game-launcher.enable = true;
|
||||
#anime-games-launcher.enable = true;
|
||||
#honkers-railway-launcher.enable = true;
|
||||
#honkers-launcher.enable = true;
|
||||
#wavey-launcher.enable = true;
|
||||
#sleepy-launcher.enable = true;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
# https://github.com/fufexan/nix-gaming
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
nix.settings = {
|
||||
substituters = [ "https://nix-gaming.cachix.org" ];
|
||||
trusted-public-keys = [ "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" ];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
# https://github.com/musnix/musnix
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [ inputs.musnix.nixosModules.musnix ];
|
||||
|
||||
specialisation = {
|
||||
"rt_kernel" = {
|
||||
inheritParentConfig = true;
|
||||
configuration = {
|
||||
###
|
||||
boot.kernelModules = [
|
||||
"snd-seq"
|
||||
"snd-rawmidi"
|
||||
];
|
||||
services = {
|
||||
pipewire.enable = lib.mkForce false;
|
||||
jack = {
|
||||
jackd.enable = lib.mkForce true;
|
||||
alsa.enable = true;
|
||||
loopback.enable = true;
|
||||
};
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
jack2
|
||||
jack_capture
|
||||
libjack2
|
||||
pavucontrol
|
||||
qjackctl
|
||||
];
|
||||
musnix = {
|
||||
enable = true;
|
||||
#ffado.enable = true;
|
||||
rtcqs.enable = true;
|
||||
kernel.realtime = true;
|
||||
kernel.packages = pkgs.linuxPackages_latest_rt;
|
||||
};
|
||||
###
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
let
|
||||
pkgs-stable = import inputs.nixpkgs-stable { system = "x86_64-linux"; };
|
||||
in
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
security.pam.services.login.fprintAuth = false;
|
||||
services = {
|
||||
fprintd = {
|
||||
enable = true;
|
||||
package = pkgs-stable.fprintd.override {
|
||||
libfprint = pkgs-stable.libfprint.overrideAttrs (oldAttrs: {
|
||||
version = "git";
|
||||
src = pkgs-stable.fetchFromGitHub {
|
||||
owner = "ericlinagora";
|
||||
repo = "libfprint-CS9711";
|
||||
rev = "c242a40fcc51aec5b57d877bdf3edfe8cb4883fd";
|
||||
sha256 = "sha256-WFq8sNitwhOOS3eO8V35EMs+FA73pbILRP0JoW/UR80=";
|
||||
};
|
||||
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [
|
||||
pkgs-stable.opencv
|
||||
pkgs-stable.cmake
|
||||
pkgs-stable.doctest
|
||||
];
|
||||
});
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
systemd.services.zapret = {
|
||||
description = "zapret complete";
|
||||
unitConfig = {
|
||||
After = [ "network-online.target" ];
|
||||
Wants = [ "network-online.target" ];
|
||||
};
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ "/run/current-system/sw" ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
Restart = "on-failure";
|
||||
User = "root";
|
||||
WorkingDirectory = "${inputs.zapret.script-dir}";
|
||||
ExecStart = "/run/current-system/sw/bin/bash ./main_script.sh -nointeractive";
|
||||
ExecStop = "/run/current-system/sw/bin/bash ./stop_and_clean_nft.sh";
|
||||
};
|
||||
};
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
nftables
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
# yabridge
|
||||
wineWowPackages.yabridge
|
||||
yabridge
|
||||
yabridgectl
|
||||
|
||||
# JACK Control
|
||||
qjackctl
|
||||
];
|
||||
};
|
||||
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
boot = {
|
||||
kernelModules = [
|
||||
"kvm-amd"
|
||||
"vfio"
|
||||
"vfio-pci"
|
||||
"vfio_iommu_type1"
|
||||
"vfio_virqfd"
|
||||
];
|
||||
kernelParams = [
|
||||
"amd_iommu=on"
|
||||
"iommu=pt"
|
||||
"kvm.ignore_msrs=1"
|
||||
];
|
||||
};
|
||||
services = {
|
||||
spice-vdagentd.enable = true;
|
||||
};
|
||||
virtualisation = {
|
||||
libvirtd = {
|
||||
enable = true;
|
||||
onBoot = "ignore";
|
||||
onShutdown = "shutdown";
|
||||
qemu = {
|
||||
swtpm.enable = true;
|
||||
ovmf.enable = true;
|
||||
ovmf.packages = [ pkgs.OVMFFull.fd ];
|
||||
};
|
||||
};
|
||||
spiceUSBRedirection.enable = true;
|
||||
};
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
spice
|
||||
#spice-gtk
|
||||
#spice-protocol
|
||||
virt-manager
|
||||
virt-viewer
|
||||
virtiofsd
|
||||
win-spice
|
||||
virtio-win
|
||||
#looking-glass-client # pci-passthrough
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
{ inputs, ... }@flakeContext:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
#wineWowPackages.waylandFull
|
||||
wineWowPackages.stagingFull
|
||||
#wineWowPackages.fonts
|
||||
dxvk
|
||||
];
|
||||
sessionVariables = {
|
||||
WINEARCH = "win64";
|
||||
};
|
||||
};
|
||||
}
|
||||
Executable
+40
@@ -0,0 +1,40 @@
|
||||
{
|
||||
description = "zeroq structure flake";
|
||||
|
||||
outputs =
|
||||
{ self }:
|
||||
|
||||
rec {
|
||||
|
||||
nixos = "/etc/nixos";
|
||||
|
||||
devices = rec {
|
||||
admin = "oqyude";
|
||||
laptop = {
|
||||
hostname = "atoridu";
|
||||
};
|
||||
mini-laptop = {
|
||||
hostname = "lamet";
|
||||
};
|
||||
server = {
|
||||
username = "otreca";
|
||||
hostname = "sapphira";
|
||||
};
|
||||
wsl.hostname = "wsl";
|
||||
};
|
||||
|
||||
dirs = rec {
|
||||
# User
|
||||
user-home = "/home/${devices.admin}";
|
||||
user-storage = "${user-home}/Storage";
|
||||
therima-drive = "/mnt/therima";
|
||||
vetymae-drive = "/mnt/vetymae";
|
||||
|
||||
# Server
|
||||
server-home = "/home/${devices.admin}/External";
|
||||
storage = "${server-home}/Storage";
|
||||
calibre-library = "${server-home}/Books-Library";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user