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