mirror of
https://github.com/JaxTheWolf/nixos.git
synced 2026-04-01 02:00:22 +02:00
Initial commit
This commit is contained in:
185
configuration.nix
Normal file
185
configuration.nix
Normal file
@@ -0,0 +1,185 @@
|
|||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./modules/packages.nix
|
||||||
|
./modules/services.nix
|
||||||
|
./modules/gdm-monitors.nix
|
||||||
|
./modules/programs.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
boot = {
|
||||||
|
initrd.kernelModules = [ ];
|
||||||
|
initrd.verbose = false;
|
||||||
|
kernelModules = [ "nct6683" ];
|
||||||
|
blacklistedKernelModules = [ "k10temp" ];
|
||||||
|
kernelParams = [
|
||||||
|
"amdgpu.seamless=1"
|
||||||
|
"rd.udev.log_priority=3"
|
||||||
|
"vt.global_cursor_default=0"
|
||||||
|
];
|
||||||
|
kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest;
|
||||||
|
extraModulePackages = with config.boot.kernelPackages; [
|
||||||
|
pkgs.linuxKernel.packages.linux_xanmod_latest.zenpower
|
||||||
|
];
|
||||||
|
loader = {
|
||||||
|
efi.canTouchEfiVariables = true;
|
||||||
|
systemd-boot = {
|
||||||
|
enable = true;
|
||||||
|
windows = {
|
||||||
|
"w" = {
|
||||||
|
title = "Windows";
|
||||||
|
efiDeviceHandle = "HD(1,GPT,ee23cd4d-b501-4b9d-9ca0-971fa6be44cf,0x800,0x32000)"; # ?????????
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
consoleLogLevel = 3;
|
||||||
|
plymouth.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
networking = {
|
||||||
|
hostName = "epiquev2";
|
||||||
|
networkmanager.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Prague";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
|
||||||
|
i18n = {
|
||||||
|
defaultLocale = "en_US.UTF-8";
|
||||||
|
|
||||||
|
extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "cs_CZ.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "cs_CZ.UTF-8";
|
||||||
|
LC_MEASUREMENT = "cs_CZ.UTF-8";
|
||||||
|
LC_MONETARY = "cs_CZ.UTF-8";
|
||||||
|
LC_NAME = "cs_CZ.UTF-8";
|
||||||
|
LC_NUMERIC = "cs_CZ.UTF-8";
|
||||||
|
LC_PAPER = "cs_CZ.UTF-8";
|
||||||
|
LC_TELEPHONE = "cs_CZ.UTF-8";
|
||||||
|
LC_TIME = "cs_CZ.UTF-8";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Configure console keymap
|
||||||
|
console.keyMap = "cz-lat2";
|
||||||
|
|
||||||
|
xdg.portal.enable = true;
|
||||||
|
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
|
||||||
|
virtualisation = {
|
||||||
|
docker = {
|
||||||
|
enable = true;
|
||||||
|
autoPrune.enable = true;
|
||||||
|
storageDriver = "btrfs";
|
||||||
|
enableOnBoot = true;
|
||||||
|
};
|
||||||
|
libvirtd = {
|
||||||
|
enable = true;
|
||||||
|
qemu.swtpm.enable = true;
|
||||||
|
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users.jax = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Roman Lubij";
|
||||||
|
extraGroups = [
|
||||||
|
"networkmanager"
|
||||||
|
"wheel"
|
||||||
|
"docker"
|
||||||
|
"libvirtd"
|
||||||
|
];
|
||||||
|
shell = pkgs.zsh;
|
||||||
|
#packages = with pkgs; [ ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Allow unfree packages
|
||||||
|
nixpkgs = {
|
||||||
|
config.allowUnfree = true;
|
||||||
|
config.permittedInsecurePackages = [
|
||||||
|
"ventoy-gtk3-1.1.07"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.sessionVariables = {
|
||||||
|
NIXOS_OZONE_WL = "1";
|
||||||
|
LIBVIRT_DEFAULT_URI = "qemu:///system";
|
||||||
|
};
|
||||||
|
|
||||||
|
hardware = {
|
||||||
|
amdgpu.initrd.enable = true;
|
||||||
|
amdgpu.overdrive.enable = true;
|
||||||
|
bluetooth = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.bluez.overrideAttrs (old: {
|
||||||
|
configureFlags = old.configureFlags ++ [
|
||||||
|
"--enable-sixaxis"
|
||||||
|
];
|
||||||
|
});
|
||||||
|
powerOnBoot = true;
|
||||||
|
input.General.ClassicBondedOnly = false;
|
||||||
|
settings = {
|
||||||
|
General = {
|
||||||
|
# FastConnectable = true;
|
||||||
|
Name = "epiquev2";
|
||||||
|
Experimental = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
i2c.enable = true;
|
||||||
|
graphics = {
|
||||||
|
enable = true;
|
||||||
|
enable32Bit = true;
|
||||||
|
package = pkgs.mesa;
|
||||||
|
};
|
||||||
|
# amdgpu.opencl.enable = true; ROCM
|
||||||
|
};
|
||||||
|
|
||||||
|
# QT stuff
|
||||||
|
qt = {
|
||||||
|
style = "gtk2";
|
||||||
|
platformTheme = "qt5ct";
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
networking.firewall.enable = false;
|
||||||
|
|
||||||
|
nix.settings = {
|
||||||
|
auto-optimise-store = true;
|
||||||
|
experimental-features = [
|
||||||
|
"flakes"
|
||||||
|
"nix-command"
|
||||||
|
];
|
||||||
|
warn-dirty = false;
|
||||||
|
substituters = [
|
||||||
|
"https://nyx.chaotic.cx"
|
||||||
|
"https://cache.nixos.org/"
|
||||||
|
];
|
||||||
|
trusted-public-keys = [
|
||||||
|
"chaotic-nyx.cachix.org-1:Z94nz89Kd721HGLrYPYiWnL3izUZoofuA+3ykIbE+Bs="
|
||||||
|
"cache.nixos.org-1:6NCHdD59MDW/s82/h4RZcnxaz2bYcxoZb0qwYf5ED+w="
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
system.stateVersion = "25.05";
|
||||||
|
}
|
||||||
184
flake.lock
generated
Normal file
184
flake.lock
generated
Normal file
@@ -0,0 +1,184 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"chaotic": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-schemas": "flake-schemas",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"jovian": "jovian",
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"rust-overlay": "rust-overlay"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761827347,
|
||||||
|
"narHash": "sha256-tIrTFSntAyXVrQE9GnauXzQxEZJCZA9TEp4jAENsgwA=",
|
||||||
|
"owner": "chaotic-cx",
|
||||||
|
"repo": "nyx",
|
||||||
|
"rev": "0c234b99a8606b482d6644e1f2d26d41985fb85c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "chaotic-cx",
|
||||||
|
"ref": "nyxpkgs-unstable",
|
||||||
|
"repo": "nyx",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-schemas": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1721999734,
|
||||||
|
"narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=",
|
||||||
|
"rev": "0a5c42297d870156d9c57d8f99e476b738dcd982",
|
||||||
|
"revCount": 75,
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"type": "tarball",
|
||||||
|
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"chaotic",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761770832,
|
||||||
|
"narHash": "sha256-IQIWG6kHxnUpx5KEb9r0BROL3/R6UQ/30aO2oHncBA8=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "124b99dbd1594dbebdd575ac7142752ee96a98a0",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jovian": {
|
||||||
|
"inputs": {
|
||||||
|
"nix-github-actions": "nix-github-actions",
|
||||||
|
"nixpkgs": [
|
||||||
|
"chaotic",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761748321,
|
||||||
|
"narHash": "sha256-hD5mVzmUeyVppjArdy2uVdQe/CQUR9i3WgZB05onE7A=",
|
||||||
|
"owner": "Jovian-Experiments",
|
||||||
|
"repo": "Jovian-NixOS",
|
||||||
|
"rev": "533db5857c9e00ca352558a928417116ee08a824",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Jovian-Experiments",
|
||||||
|
"repo": "Jovian-NixOS",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-flatpak": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1754777568,
|
||||||
|
"narHash": "sha256-0bBqT+3XncgF8F03RFAamw9vdf0VmaDoIJLTGkjfQZs=",
|
||||||
|
"owner": "gmodena",
|
||||||
|
"repo": "nix-flatpak",
|
||||||
|
"rev": "62f636b87ef6050760a8cb325cadb90674d1e23e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "gmodena",
|
||||||
|
"repo": "nix-flatpak",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-github-actions": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"chaotic",
|
||||||
|
"jovian",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1729697500,
|
||||||
|
"narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=",
|
||||||
|
"owner": "zhaofengli",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "zhaofengli",
|
||||||
|
"ref": "matrix-name",
|
||||||
|
"repo": "nix-github-actions",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761672384,
|
||||||
|
"narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761672384,
|
||||||
|
"narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"chaotic": "chaotic",
|
||||||
|
"nix-flatpak": "nix-flatpak",
|
||||||
|
"nixpkgs": "nixpkgs_2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rust-overlay": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"chaotic",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1761758177,
|
||||||
|
"narHash": "sha256-MsVJG2gQTm6n2jIGu2KDT87AMeMx1GExOaEQqNkQKVE=",
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"rev": "37f8f092415b444c3bed6eda6bcbee51cee22e5d",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "oxalica",
|
||||||
|
"repo": "rust-overlay",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
28
flake.nix
Normal file
28
flake.nix
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
nix-flatpak = {
|
||||||
|
url = "github:gmodena/nix-flatpak";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Keeping this for the binary cache!
|
||||||
|
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, nix-flatpak, chaotic, ... }: {
|
||||||
|
nixosConfigurations = {
|
||||||
|
epiquev2 = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./configuration.nix
|
||||||
|
nix-flatpak.nixosModules.nix-flatpak
|
||||||
|
|
||||||
|
# This module adds the Chaotic overlay AND the necessary binary cache.
|
||||||
|
chaotic.nixosModules.default
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
95
hardware-configuration.nix
Normal file
95
hardware-configuration.nix
Normal file
@@ -0,0 +1,95 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "uas" "usbhid" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-amd" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [
|
||||||
|
"subvol=@nix"
|
||||||
|
"ssd"
|
||||||
|
"space_cache=v2"
|
||||||
|
"noatime"
|
||||||
|
"compress=zstd"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/home" =
|
||||||
|
{ device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [
|
||||||
|
"subvol=@home"
|
||||||
|
"ssd"
|
||||||
|
"space_cache=v2"
|
||||||
|
"noatime"
|
||||||
|
"compress=zstd"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/nix" =
|
||||||
|
{ device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [
|
||||||
|
"subvol=@nix_nix"
|
||||||
|
"ssd"
|
||||||
|
"space_cache=v2"
|
||||||
|
"noatime"
|
||||||
|
"compress=zstd"
|
||||||
|
];
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/var" =
|
||||||
|
{ device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [
|
||||||
|
"subvol=@nix_var"
|
||||||
|
"ssd"
|
||||||
|
"space_cache=v2"
|
||||||
|
"noatime"
|
||||||
|
"compress=zstd"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/3DB5-50DE";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0022" "dmask=0022" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/media/data" =
|
||||||
|
{ device = "/dev/disk/by-uuid/4c0c8b24-6fca-49c1-8e34-e00e240576e3";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=Data" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/media/games" =
|
||||||
|
{ device = "/dev/disk/by-uuid/4c0c8b24-6fca-49c1-8e34-e00e240576e3";
|
||||||
|
fsType = "btrfs";
|
||||||
|
options = [ "subvol=Games" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
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.enp42s0.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp5s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = true;
|
||||||
|
}
|
||||||
277
modules/gdm-monitors.nix
Normal file
277
modules/gdm-monitors.nix
Normal file
@@ -0,0 +1,277 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
gdmMonitorsXml = pkgs.writeText "gdm-monitor.xml" ''
|
||||||
|
<monitors version="2">
|
||||||
|
<configuration>
|
||||||
|
<layoutmode>physical</layoutmode>
|
||||||
|
<logicalmonitor>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<scale>1</scale>
|
||||||
|
<primary>yes</primary>
|
||||||
|
<monitor>
|
||||||
|
<monitorspec>
|
||||||
|
<connector>HDMI-1</connector>
|
||||||
|
<vendor>HPN</vendor>
|
||||||
|
<product>HP 24fh</product>
|
||||||
|
<serial>3CM8340KRZ </serial>
|
||||||
|
</monitorspec>
|
||||||
|
<mode>
|
||||||
|
<width>1920</width>
|
||||||
|
<height>1080</height>
|
||||||
|
<rate>74.973</rate>
|
||||||
|
</mode>
|
||||||
|
</monitor>
|
||||||
|
</logicalmonitor>
|
||||||
|
</configuration>
|
||||||
|
<configuration>
|
||||||
|
<layoutmode>physical</layoutmode>
|
||||||
|
<logicalmonitor>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<scale>1</scale>
|
||||||
|
<primary>yes</primary>
|
||||||
|
<monitor>
|
||||||
|
<monitorspec>
|
||||||
|
<connector>HDMI-A-1</connector>
|
||||||
|
<vendor>unknown</vendor>
|
||||||
|
<product>unknown</product>
|
||||||
|
<serial>unknown</serial>
|
||||||
|
</monitorspec>
|
||||||
|
<mode>
|
||||||
|
<width>640</width>
|
||||||
|
<height>480</height>
|
||||||
|
<rate>59.940</rate>
|
||||||
|
</mode>
|
||||||
|
<underscanning>yes</underscanning>
|
||||||
|
</monitor>
|
||||||
|
</logicalmonitor>
|
||||||
|
</configuration>
|
||||||
|
<configuration>
|
||||||
|
<layoutmode>physical</layoutmode>
|
||||||
|
<logicalmonitor>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<scale>1</scale>
|
||||||
|
<primary>yes</primary>
|
||||||
|
<monitor>
|
||||||
|
<monitorspec>
|
||||||
|
<connector>HDMI-1</connector>
|
||||||
|
<vendor>unknown</vendor>
|
||||||
|
<product>unknown</product>
|
||||||
|
<serial>unknown</serial>
|
||||||
|
</monitorspec>
|
||||||
|
<mode>
|
||||||
|
<width>640</width>
|
||||||
|
<height>480</height>
|
||||||
|
<rate>59.940</rate>
|
||||||
|
</mode>
|
||||||
|
<underscanning>yes</underscanning>
|
||||||
|
</monitor>
|
||||||
|
</logicalmonitor>
|
||||||
|
</configuration>
|
||||||
|
<configuration>
|
||||||
|
<layoutmode>physical</layoutmode>
|
||||||
|
<logicalmonitor>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<scale>1</scale>
|
||||||
|
<primary>yes</primary>
|
||||||
|
<monitor>
|
||||||
|
<monitorspec>
|
||||||
|
<connector>HDMI-2</connector>
|
||||||
|
<vendor>unknown</vendor>
|
||||||
|
<product>unknown</product>
|
||||||
|
<serial>unknown</serial>
|
||||||
|
</monitorspec>
|
||||||
|
<mode>
|
||||||
|
<width>640</width>
|
||||||
|
<height>480</height>
|
||||||
|
<rate>59.940</rate>
|
||||||
|
</mode>
|
||||||
|
</monitor>
|
||||||
|
</logicalmonitor>
|
||||||
|
</configuration>
|
||||||
|
<configuration>
|
||||||
|
<layoutmode>logical</layoutmode>
|
||||||
|
<logicalmonitor>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<scale>1</scale>
|
||||||
|
<primary>yes</primary>
|
||||||
|
<monitor>
|
||||||
|
<monitorspec>
|
||||||
|
<connector>HDMI-1</connector>
|
||||||
|
<vendor>SAM</vendor>
|
||||||
|
<product>SMB2240W</product>
|
||||||
|
<serial>H9FZ915793</serial>
|
||||||
|
</monitorspec>
|
||||||
|
<mode>
|
||||||
|
<width>1680</width>
|
||||||
|
<height>1050</height>
|
||||||
|
<rate>59.883</rate>
|
||||||
|
</mode>
|
||||||
|
</monitor>
|
||||||
|
</logicalmonitor>
|
||||||
|
</configuration>
|
||||||
|
<configuration>
|
||||||
|
<layoutmode>logical</layoutmode>
|
||||||
|
<logicalmonitor>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<scale>1</scale>
|
||||||
|
<primary>yes</primary>
|
||||||
|
<monitor>
|
||||||
|
<monitorspec>
|
||||||
|
<connector>HDMI-1</connector>
|
||||||
|
<vendor>HPN</vendor>
|
||||||
|
<product>HP 24fh</product>
|
||||||
|
<serial>3CM8340KRZ </serial>
|
||||||
|
</monitorspec>
|
||||||
|
<mode>
|
||||||
|
<width>1920</width>
|
||||||
|
<height>1080</height>
|
||||||
|
<rate>74.973</rate>
|
||||||
|
</mode>
|
||||||
|
</monitor>
|
||||||
|
</logicalmonitor>
|
||||||
|
</configuration>
|
||||||
|
<configuration>
|
||||||
|
<layoutmode>physical</layoutmode>
|
||||||
|
<logicalmonitor>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<scale>1</scale>
|
||||||
|
<primary>yes</primary>
|
||||||
|
<monitor>
|
||||||
|
<monitorspec>
|
||||||
|
<connector>HDMI-A-1</connector>
|
||||||
|
<vendor>SAM</vendor>
|
||||||
|
<product>SMB2240W</product>
|
||||||
|
<serial>H9FZ915793</serial>
|
||||||
|
</monitorspec>
|
||||||
|
<mode>
|
||||||
|
<width>1680</width>
|
||||||
|
<height>1050</height>
|
||||||
|
<rate>59.883</rate>
|
||||||
|
</mode>
|
||||||
|
</monitor>
|
||||||
|
</logicalmonitor>
|
||||||
|
</configuration>
|
||||||
|
<configuration>
|
||||||
|
<layoutmode>physical</layoutmode>
|
||||||
|
<logicalmonitor>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<scale>1</scale>
|
||||||
|
<primary>yes</primary>
|
||||||
|
<monitor>
|
||||||
|
<monitorspec>
|
||||||
|
<connector>HDMI-1</connector>
|
||||||
|
<vendor>HPN</vendor>
|
||||||
|
<product>HP 24fh</product>
|
||||||
|
<serial>3CM8340KRZ </serial>
|
||||||
|
</monitorspec>
|
||||||
|
<mode>
|
||||||
|
<width>1920</width>
|
||||||
|
<height>1080</height>
|
||||||
|
<rate>60.000</rate>
|
||||||
|
</mode>
|
||||||
|
</monitor>
|
||||||
|
</logicalmonitor>
|
||||||
|
<logicalmonitor>
|
||||||
|
<x>102</x>
|
||||||
|
<y>1080</y>
|
||||||
|
<scale>1</scale>
|
||||||
|
<monitor>
|
||||||
|
<monitorspec>
|
||||||
|
<connector>Meta-0</connector>
|
||||||
|
<vendor>MetaVendor</vendor>
|
||||||
|
<product>Virtual remote monitor</product>
|
||||||
|
<serial>0x000001</serial>
|
||||||
|
</monitorspec>
|
||||||
|
<mode>
|
||||||
|
<width>1728</width>
|
||||||
|
<height>1080</height>
|
||||||
|
<rate>60.000</rate>
|
||||||
|
</mode>
|
||||||
|
</monitor>
|
||||||
|
</logicalmonitor>
|
||||||
|
</configuration>
|
||||||
|
<configuration>
|
||||||
|
<layoutmode>physical</layoutmode>
|
||||||
|
<logicalmonitor>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<scale>1</scale>
|
||||||
|
<primary>yes</primary>
|
||||||
|
<monitor>
|
||||||
|
<monitorspec>
|
||||||
|
<connector>HDMI-1</connector>
|
||||||
|
<vendor>SAM</vendor>
|
||||||
|
<product>SMB2240W</product>
|
||||||
|
<serial>H9FZ915793</serial>
|
||||||
|
</monitorspec>
|
||||||
|
<mode>
|
||||||
|
<width>1680</width>
|
||||||
|
<height>1050</height>
|
||||||
|
<rate>59.883</rate>
|
||||||
|
</mode>
|
||||||
|
</monitor>
|
||||||
|
</logicalmonitor>
|
||||||
|
</configuration>
|
||||||
|
<configuration>
|
||||||
|
<layoutmode>physical</layoutmode>
|
||||||
|
<logicalmonitor>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<scale>1</scale>
|
||||||
|
<primary>yes</primary>
|
||||||
|
<monitor>
|
||||||
|
<monitorspec>
|
||||||
|
<connector>HDMI-1</connector>
|
||||||
|
<vendor>SAM</vendor>
|
||||||
|
<product>SMB2240W</product>
|
||||||
|
<serial>H9FZ915793</serial>
|
||||||
|
</monitorspec>
|
||||||
|
<mode>
|
||||||
|
<width>1680</width>
|
||||||
|
<height>1050</height>
|
||||||
|
<rate>59.883</rate>
|
||||||
|
</mode>
|
||||||
|
</monitor>
|
||||||
|
</logicalmonitor>
|
||||||
|
<logicalmonitor>
|
||||||
|
<x>0</x>
|
||||||
|
<y>1050</y>
|
||||||
|
<scale>1</scale>
|
||||||
|
<monitor>
|
||||||
|
<monitorspec>
|
||||||
|
<connector>Meta-0</connector>
|
||||||
|
<vendor>MetaVendor</vendor>
|
||||||
|
<product>Virtual remote monitor</product>
|
||||||
|
<serial>0x000001</serial>
|
||||||
|
</monitorspec>
|
||||||
|
<mode>
|
||||||
|
<width>1728</width>
|
||||||
|
<height>1080</height>
|
||||||
|
<rate>60.000</rate>
|
||||||
|
</mode>
|
||||||
|
</monitor>
|
||||||
|
</logicalmonitor>
|
||||||
|
</configuration>
|
||||||
|
</monitors>
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
|
systemd.tmpfiles.rules = [
|
||||||
|
# L+ means to create a symbolic link (L) and create the directory if it doesn't exist (+)
|
||||||
|
"L+ /run/gdm/.config/monitors.xml - - - - ${gdmMonitorsXml}"
|
||||||
|
];
|
||||||
|
}
|
||||||
162
modules/packages.nix
Normal file
162
modules/packages.nix
Normal file
@@ -0,0 +1,162 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
environment.gnome.excludePackages = with pkgs; [
|
||||||
|
decibels
|
||||||
|
evince
|
||||||
|
epiphany
|
||||||
|
geary
|
||||||
|
gnome-connections
|
||||||
|
gnome-contacts
|
||||||
|
gnome-logs
|
||||||
|
gnome-maps
|
||||||
|
gnome-music
|
||||||
|
gnome-software
|
||||||
|
gnome-system-monitor
|
||||||
|
snapshot
|
||||||
|
totem
|
||||||
|
yelp
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.systemPackages = lib.flatten [
|
||||||
|
(with pkgs.gnomeExtensions; [
|
||||||
|
# thanatophobia
|
||||||
|
alphabetical-app-grid
|
||||||
|
appindicator
|
||||||
|
blur-my-shell
|
||||||
|
control-monitor-brightness-and-volume-with-ddcutil
|
||||||
|
bubblemail
|
||||||
|
color-picker
|
||||||
|
dash-to-dock
|
||||||
|
favorites-to-applications-grid
|
||||||
|
middle-click-to-close-in-overview
|
||||||
|
undecorate
|
||||||
|
user-themes
|
||||||
|
])
|
||||||
|
(with pkgs; [
|
||||||
|
abootimg
|
||||||
|
amdgpu_top
|
||||||
|
android-tools
|
||||||
|
appstream
|
||||||
|
arch-install-scripts
|
||||||
|
bibata-cursors
|
||||||
|
binwalk
|
||||||
|
brscan4
|
||||||
|
brscan5
|
||||||
|
btrfs-progs
|
||||||
|
bubblemail
|
||||||
|
bzip2
|
||||||
|
ccache
|
||||||
|
curl
|
||||||
|
czkawka
|
||||||
|
ddcutil
|
||||||
|
distrobox
|
||||||
|
docker-compose
|
||||||
|
dog
|
||||||
|
eza
|
||||||
|
ffmpeg
|
||||||
|
ffmpegthumbnailer
|
||||||
|
flat-remix-gnome
|
||||||
|
flat-remix-gtk
|
||||||
|
flatpak-xdg-utils
|
||||||
|
freecad
|
||||||
|
freerdp
|
||||||
|
fuse
|
||||||
|
fuse3
|
||||||
|
fwupd
|
||||||
|
gimp
|
||||||
|
gnome-tweaks
|
||||||
|
gnome.gvfs
|
||||||
|
gotop
|
||||||
|
gparted
|
||||||
|
gvfs
|
||||||
|
htop
|
||||||
|
i2c-tools
|
||||||
|
iftop
|
||||||
|
inkscape
|
||||||
|
iotop
|
||||||
|
killall
|
||||||
|
krita
|
||||||
|
kooha
|
||||||
|
lact
|
||||||
|
libreoffice
|
||||||
|
linux-firmware
|
||||||
|
lm_sensors
|
||||||
|
lsof
|
||||||
|
mangohud
|
||||||
|
mesa-demos
|
||||||
|
mission-center
|
||||||
|
ncdu
|
||||||
|
nil
|
||||||
|
nixfmt-rfc-style
|
||||||
|
noisetorch
|
||||||
|
ntfs3g
|
||||||
|
nvtopPackages.amd
|
||||||
|
openrgb-with-all-plugins
|
||||||
|
papirus-icon-theme
|
||||||
|
plymouth
|
||||||
|
poppler-utils
|
||||||
|
prismlauncher-unwrapped
|
||||||
|
protonup-qt
|
||||||
|
radeontop
|
||||||
|
rquickshare
|
||||||
|
scrcpy
|
||||||
|
screen
|
||||||
|
seafile-client
|
||||||
|
smartmontools
|
||||||
|
starship
|
||||||
|
sushi
|
||||||
|
swtpm
|
||||||
|
telegram-desktop
|
||||||
|
testdisk
|
||||||
|
thunderbird
|
||||||
|
tidal-hifi
|
||||||
|
tldr
|
||||||
|
tree
|
||||||
|
unrar
|
||||||
|
unzip
|
||||||
|
ventoy-full-gtk
|
||||||
|
vesktop
|
||||||
|
vkbasalt
|
||||||
|
vlc
|
||||||
|
vscode-fhs
|
||||||
|
wev
|
||||||
|
weylus
|
||||||
|
wget
|
||||||
|
which
|
||||||
|
wine
|
||||||
|
xfce.tumbler
|
||||||
|
yt-dlp
|
||||||
|
zenmonitor
|
||||||
|
zip
|
||||||
|
zram-generator
|
||||||
|
zsh-autosuggestions
|
||||||
|
zsh-completions
|
||||||
|
zsh-history-substring-search
|
||||||
|
zsh-syntax-highlighting
|
||||||
|
zulu8
|
||||||
|
zulu17
|
||||||
|
zulu23
|
||||||
|
])
|
||||||
|
];
|
||||||
|
|
||||||
|
fonts = {
|
||||||
|
packages = with pkgs; [
|
||||||
|
fira-code
|
||||||
|
font-awesome
|
||||||
|
nerd-fonts.fira-code
|
||||||
|
nerd-fonts.fira-mono
|
||||||
|
nerd-fonts.symbols-only
|
||||||
|
nerd-fonts.ubuntu-mono
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk-sans
|
||||||
|
noto-fonts-color-emoji
|
||||||
|
ubuntu-classic
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
77
modules/programs.nix
Normal file
77
modules/programs.nix
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
programs = {
|
||||||
|
dconf.profiles.gdm.databases = [
|
||||||
|
{
|
||||||
|
settings = {
|
||||||
|
"org/gnome/desktop/peripherals/keyboard" = {
|
||||||
|
numlock-state = true;
|
||||||
|
remember-numlock-state = true;
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/peripherals/mouse" = {
|
||||||
|
speed-profile = "flat";
|
||||||
|
speed = -0.5;
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/peripherals/touchpad" = {
|
||||||
|
speed-profile = "flat";
|
||||||
|
speed = -0.5;
|
||||||
|
};
|
||||||
|
"org/gnome/desktop/interface" = {
|
||||||
|
color-scheme = "prefer-dark";
|
||||||
|
gtk-theme = "Flat-Remix-GTK-Red-Darkest";
|
||||||
|
icon-theme = "Papirus-Dark";
|
||||||
|
cursor-theme = "Bibata-Modern-Classic";
|
||||||
|
clock-format = "24h";
|
||||||
|
};
|
||||||
|
"org/gnome/shell/portal" = {
|
||||||
|
color-scheme = "prefer-dark";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
adb.enable = true;
|
||||||
|
bat.enable = true;
|
||||||
|
zsh.enable = true;
|
||||||
|
gamemode.enable = true;
|
||||||
|
firefox.enable = true;
|
||||||
|
git = {
|
||||||
|
enable = true;
|
||||||
|
lfs.enable = true;
|
||||||
|
};
|
||||||
|
nh = {
|
||||||
|
clean = {
|
||||||
|
enable = true;
|
||||||
|
extraArgs = "--keep-since 7d --keep 10";
|
||||||
|
};
|
||||||
|
enable = true;
|
||||||
|
flake = "/etc/nixos";
|
||||||
|
};
|
||||||
|
nix-ld = {
|
||||||
|
enable = true;
|
||||||
|
libraries = with pkgs; [ ];
|
||||||
|
};
|
||||||
|
# obs-studio = {
|
||||||
|
# enable = true;
|
||||||
|
# plugins = with pkgs.obs-studio-plugins; [
|
||||||
|
# obs-vaapi
|
||||||
|
# obs-vkcapture
|
||||||
|
# wlrobs
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
steam = {
|
||||||
|
dedicatedServer.openFirewall = true;
|
||||||
|
enable = true;
|
||||||
|
extest.enable = true;
|
||||||
|
gamescopeSession.enable = true;
|
||||||
|
protontricks.enable = true;
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
};
|
||||||
|
virt-manager.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
92
modules/services.nix
Normal file
92
modules/services.nix
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
lact.enable = true;
|
||||||
|
printing.enable = true;
|
||||||
|
flatpak = {
|
||||||
|
enable = true;
|
||||||
|
remotes = [
|
||||||
|
{
|
||||||
|
name = "flathub";
|
||||||
|
location = "https://dl.flathub.org/repo/flathub.flatpakrepo";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
packages = [
|
||||||
|
{
|
||||||
|
appId = "com.mattjakeman.ExtensionManager";
|
||||||
|
origin = "flathub";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
appId = "com.prusa3d.PrusaSlicer";
|
||||||
|
origin = "flathub";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
appId = "com.github.tchx84.Flatseal";
|
||||||
|
origin = "flathub";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
appId = "org.gtk.Gtk3theme.Adwaita-dark";
|
||||||
|
origin = "flathub";
|
||||||
|
}
|
||||||
|
# {
|
||||||
|
# appId = "org.freedesktop.Platform.ffmpeg-full";
|
||||||
|
# origin = "flathub";
|
||||||
|
# }
|
||||||
|
{
|
||||||
|
appId = "org.gtk.Gtk3theme.Flat-Remix-GTK-Red-Darkest";
|
||||||
|
origin = "flathub";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
appId = "com.github.iwalton3.jellyfin-media-player";
|
||||||
|
origin = "flathub";
|
||||||
|
}
|
||||||
|
# {
|
||||||
|
# appId = "com.github.tchx84.Flatseal";
|
||||||
|
# origin = "flathub";
|
||||||
|
# }
|
||||||
|
# {
|
||||||
|
# appId = "com.github.tchx84.Flatseal";
|
||||||
|
# origin = "flathub";
|
||||||
|
# }
|
||||||
|
# {
|
||||||
|
# appId = "com.github.tchx84.Flatseal";
|
||||||
|
# origin = "flathub";
|
||||||
|
# }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
sshd.enable = true;
|
||||||
|
displayManager.gdm.enable = true;
|
||||||
|
desktopManager.gnome.enable = true;
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
excludePackages = with pkgs; [
|
||||||
|
xterm
|
||||||
|
];
|
||||||
|
xkb = {
|
||||||
|
layout = "cz";
|
||||||
|
variant = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
pulseaudio.enable = false;
|
||||||
|
pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
# If you want to use JACK applications, uncomment this
|
||||||
|
#jack.enable = true;
|
||||||
|
|
||||||
|
# use the example session manager (no others are packaged yet so this is enabled by default,
|
||||||
|
# no need to redefine it in your config for now)
|
||||||
|
#media-session.enable = true;
|
||||||
|
};
|
||||||
|
hardware.openrgb.motherboard = "amd";
|
||||||
|
hardware.openrgb.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user