mirror of
https://github.com/JaxTheWolf/nixos.git
synced 2026-04-01 02:00:22 +02:00
Initial commit
This commit is contained in:
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