Add files via upload
This commit is contained in:
45
nixos/config_comp/hardware-configuration.nix
Normal file
45
nixos/config_comp/hardware-configuration.nix
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# 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 = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/21303273-8025-48c7-adff-0cc7ba867b13";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/2272-82DA";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/mnt/DATA" =
|
||||||
|
{ device = "/dev/disk/by-uuid/0ac7b949-3bed-4223-8eda-993ed8d4baeb";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/a242794d-10d9-4578-a7af-5c6e2f15bc1f"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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.enp0s31f6.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
65
nixos/config_comp/services.nix
Normal file
65
nixos/config_comp/services.nix
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
# X server
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# setting cinnamon as dafult
|
||||||
|
desktopManager.cinnamon.enable = true;
|
||||||
|
displayManager = {
|
||||||
|
defaultSession = "cinnamon";
|
||||||
|
gdm.enable = true;
|
||||||
|
# login settings
|
||||||
|
autoLogin.enable = false;
|
||||||
|
autoLogin.user = "zipfriis";
|
||||||
|
};
|
||||||
|
# X11 keymap
|
||||||
|
layout = "us";
|
||||||
|
xkbVariant = "";
|
||||||
|
|
||||||
|
# set window manager
|
||||||
|
windowManager = {
|
||||||
|
qtile = {
|
||||||
|
enable = true;
|
||||||
|
backend = "wayland";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# audio backend
|
||||||
|
pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
jack.enable = true;
|
||||||
|
};
|
||||||
|
# self hosted media server
|
||||||
|
#jellyfin.enable = true;
|
||||||
|
|
||||||
|
## I2P Eepsite
|
||||||
|
i2pd = {
|
||||||
|
enable = true;
|
||||||
|
ifname = "ens3";
|
||||||
|
address = "xxxx";
|
||||||
|
# TCP & UDP
|
||||||
|
port = 9898;
|
||||||
|
# TCP
|
||||||
|
ntcp2.port = 9899;
|
||||||
|
inTunnels = {
|
||||||
|
myEep = {
|
||||||
|
enable = true;
|
||||||
|
keys = "myEep-keys.dat";
|
||||||
|
inPort = 80;
|
||||||
|
address = "::1";
|
||||||
|
destination = "::1";
|
||||||
|
port = 8081;
|
||||||
|
# inbound.length = 1;
|
||||||
|
# outbound.length = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
enableIPv4 = true;
|
||||||
|
enableIPv6 = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
305
nixos/configuration.nix
Normal file
305
nixos/configuration.nix
Normal file
@@ -0,0 +1,305 @@
|
|||||||
|
# ________ ___ ___ ___ ________ ________
|
||||||
|
#|\ ___ \ |\ \ |\ \ / /||\ __ \ |\ ____\
|
||||||
|
#\ \ \\ \ \ \ \ \ \ \ \/ / /\ \ \|\ \ \ \ \___|_
|
||||||
|
# \ \ \\ \ \ \ \ \ \ \ / / \ \ \\\ \ \ \_____ \
|
||||||
|
# \ \ \\ \ \ \ \ \ / \/ \ \ \\\ \ \|____|\ \
|
||||||
|
# \ \__\\ \__\ \ \__\ / /\ \ \ \_______\ ____\_\ \
|
||||||
|
# \|__| \|__| \|__|/__/ /\ __\ \|_______| |\_________\
|
||||||
|
# |__|/ \|__| \|_________|
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
# bash script to let dbus know about important env variables and
|
||||||
|
# propagate them to relevent services run at the end of sway config
|
||||||
|
# see
|
||||||
|
# https://github.com/emersion/xdg-desktop-portal-wlr/wiki/"It-doesn't-work"-Troubleshooting-Checklist
|
||||||
|
# note: this is pretty much the same as /etc/sway/config.d/nixos.conf but also restarts
|
||||||
|
# some user services to make sure they have the correct environment variables
|
||||||
|
dbus-sway-environment = pkgs.writeTextFile {
|
||||||
|
name = "dbus-sway-environment";
|
||||||
|
destination = "/bin/dbus-sway-environment";
|
||||||
|
executable = true;
|
||||||
|
|
||||||
|
text = ''
|
||||||
|
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
||||||
|
systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
|
||||||
|
systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# currently, there is some friction between sway and gtk:
|
||||||
|
# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
|
||||||
|
# the suggested way to set gtk settings is with gsettings
|
||||||
|
# for gsettings to work, we need to tell it where the schemas are
|
||||||
|
# using the XDG_DATA_DIR environment variable
|
||||||
|
# run at the end of sway config
|
||||||
|
configure-gtk = pkgs.writeTextFile {
|
||||||
|
name = "configure-gtk";
|
||||||
|
destination = "/bin/configure-gtk";
|
||||||
|
executable = true;
|
||||||
|
text = let
|
||||||
|
schema = pkgs.gsettings-desktop-schemas;
|
||||||
|
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
|
||||||
|
in ''
|
||||||
|
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
|
||||||
|
gnome_schema=org.gnome.desktop.interface
|
||||||
|
gsettings set $gnome_schema gtk-theme 'Dracula'
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
nixpkgs = {
|
||||||
|
config.packageOverrides = pkgs: {
|
||||||
|
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
||||||
|
};
|
||||||
|
# allow a collection of pakages
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix #hardware
|
||||||
|
./config_comp/services.nix #services
|
||||||
|
];
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
|
||||||
|
networking.hostName = "zipos"; # Define your hostname.
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Copenhagen";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_DK.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "da_DK.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "da_DK.UTF-8";
|
||||||
|
LC_MEASUREMENT = "da_DK.UTF-8";
|
||||||
|
LC_MONETARY = "da_DK.UTF-8";
|
||||||
|
LC_NAME = "da_DK.UTF-8";
|
||||||
|
LC_NUMERIC = "da_DK.UTF-8";
|
||||||
|
LC_PAPER = "da_DK.UTF-8";
|
||||||
|
LC_TELEPHONE = "da_DK.UTF-8";
|
||||||
|
LC_TIME = "da_DK.UTF-8";
|
||||||
|
};
|
||||||
|
# _ _
|
||||||
|
#| | | |
|
||||||
|
#| |__ __ _ _ __ __| |__ __ __ _ _ __ ___
|
||||||
|
#| '_ \ / _` || '__| / _` |\ \ /\ / / / _` || '__| / _ \
|
||||||
|
#| | | || (_| || | | (_| | \ V V / | (_| || | | __/
|
||||||
|
#|_| |_| \__,_||_| \__,_| \_/\_/ \__,_||_| \___|
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
amdvlk
|
||||||
|
intel-media-driver
|
||||||
|
vaapiIntel
|
||||||
|
vaapiVdpau
|
||||||
|
libvdpau-va-gl
|
||||||
|
intel-compute-runtime
|
||||||
|
];
|
||||||
|
# To enable Vulkan support for 32-bit applications, also add:
|
||||||
|
extraPackages32 = with pkgs; [
|
||||||
|
pkgs.driversi686Linux.amdvlk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# Force radv
|
||||||
|
environment.variables.AMD_VULKAN_ICD = "RADV";
|
||||||
|
# Or
|
||||||
|
environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# enabeling wayland
|
||||||
|
xdg = {
|
||||||
|
portal = {
|
||||||
|
wlr.enable = true;
|
||||||
|
enable = true;
|
||||||
|
extraPortals = with pkgs; [
|
||||||
|
xdg-desktop-portal-wlr
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# ______ ______ ______ __ __ __ ______ ______ ______
|
||||||
|
#/\ ___\ /\ ___\ /\ == \ /\ \ / / /\ \ /\ ___\ /\ ___\ /\ ___\
|
||||||
|
#\ \___ \ \ \ __\ \ \ __< \ \ \'/ \ \ \ \ \ \____ \ \ __\ \ \___ \
|
||||||
|
# \/\_____\ \ \_____\ \ \_\ \_\ \ \__| \ \_\ \ \_____\ \ \_____\ \/\_____\
|
||||||
|
# \/_____/ \/_____/ \/_/ /_/ \/_/ \/_/ \/_____/ \/_____/ \/_____/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
# __ __ ______ ______ ______ ______
|
||||||
|
# /\ \/\ \ /\ ___\ /\ ___\ /\ == \ /\ ___\
|
||||||
|
# \ \ \_\ \ \ \___ \ \ \ __\ \ \ __< \ \___ \
|
||||||
|
# \ \_____\ \/\_____\ \ \_____\ \ \_\ \_\ \/\_____\
|
||||||
|
# \/_____/ \/_____/ \/_____/ \/_/ /_/ \/_____/
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users = {
|
||||||
|
zipfriis = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "zipfriis";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
packages = with pkgs; [
|
||||||
|
neofetch
|
||||||
|
firefox
|
||||||
|
vscode
|
||||||
|
steam
|
||||||
|
discord
|
||||||
|
obs-studio
|
||||||
|
lutris
|
||||||
|
godot_4
|
||||||
|
kicad
|
||||||
|
inkscape
|
||||||
|
mpv
|
||||||
|
freecad
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.defaultUserShell = pkgs.zsh;
|
||||||
|
# ______ ______ ______ ______ ______ ______ __ __ ______
|
||||||
|
# /\ == \ /\ == \ /\ __ \ /\ ___\ /\ == \ /\ __ \ /\ "-./ \ /\ ___\
|
||||||
|
# \ \ _-/ \ \ __< \ \ \/\ \ \ \ \__ \ \ \ __< \ \ __ \ \ \ \-./\ \ \ \___ \
|
||||||
|
# \ \_\ \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_\ \_\ \ \_\ \ \_\ \/\_____\
|
||||||
|
# \/_/ \/_/ /_/ \/_____/ \/_____/ \/_/ /_/ \/_/\/_/ \/_/ \/_/ \/_____/
|
||||||
|
|
||||||
|
|
||||||
|
# here we declare pakages for the system
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
||||||
|
# anonymous browsing
|
||||||
|
i2pd
|
||||||
|
librewolf-unwrapped
|
||||||
|
tor-browser-bundle-bin
|
||||||
|
qbittorrent
|
||||||
|
|
||||||
|
# Programs for developers
|
||||||
|
nasm # is a 80x86 and x86-64 assembler
|
||||||
|
vim # terminal text editor
|
||||||
|
zsh # terminal shell
|
||||||
|
alacritty # terminal emulator
|
||||||
|
unzip # extract files which is compressed
|
||||||
|
htop # see dekstop utilizeation
|
||||||
|
man # manunals for commands
|
||||||
|
python39 # python 3
|
||||||
|
git # git
|
||||||
|
|
||||||
|
# Desktop tools
|
||||||
|
blender
|
||||||
|
libreoffice-qt
|
||||||
|
handbrake
|
||||||
|
pulseaudio
|
||||||
|
pavucontrol
|
||||||
|
|
||||||
|
|
||||||
|
gnome.nautilus
|
||||||
|
gnome.gnome-system-monitor
|
||||||
|
|
||||||
|
# intertainment
|
||||||
|
spotify
|
||||||
|
|
||||||
|
|
||||||
|
feh
|
||||||
|
wbg
|
||||||
|
wget
|
||||||
|
qpwgraph
|
||||||
|
wofi
|
||||||
|
polkit_gnome
|
||||||
|
wlroots
|
||||||
|
thefuck
|
||||||
|
jellyfin
|
||||||
|
ueberzug
|
||||||
|
|
||||||
|
# sway
|
||||||
|
sway
|
||||||
|
wayland
|
||||||
|
swww
|
||||||
|
xdg-utils
|
||||||
|
glib # gsettings
|
||||||
|
dracula-theme # gtk theme
|
||||||
|
gnome3.adwaita-icon-theme # default gnome cursors
|
||||||
|
swaylock
|
||||||
|
swayidle
|
||||||
|
grim # screenshot functionality
|
||||||
|
slurp # screenshot functionality
|
||||||
|
wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
|
||||||
|
bemenu # wayland clone of dmenu
|
||||||
|
mako # notification system developed by swaywm maintainer
|
||||||
|
wdisplays # tool to configure displays
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.sessionVariables = {
|
||||||
|
MOZ_ENABLE_WAYLAND = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts.fonts = with pkgs; [
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk
|
||||||
|
noto-fonts-emoji
|
||||||
|
liberation_ttf
|
||||||
|
fira-code
|
||||||
|
fira-code-symbols
|
||||||
|
mplus-outline-fonts.githubRelease
|
||||||
|
dina-font
|
||||||
|
proggyfonts
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
shellAliases = {
|
||||||
|
ll = "ls -la";
|
||||||
|
update = "sudo nixos-rebuild switch --upgrade";
|
||||||
|
fetch = "neofetch";
|
||||||
|
};
|
||||||
|
ohMyZsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [ "git" "thefuck" ];
|
||||||
|
theme = "jonathan";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
steam = {
|
||||||
|
enable = true;
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
dedicatedServer.openFirewall = true;
|
||||||
|
};
|
||||||
|
sway = {
|
||||||
|
enable = true;
|
||||||
|
wrapperFeatures.gtk = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
nix.gc.automatic = true;
|
||||||
|
nix.gc.dates = "20:00";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
system.stateVersion = "23.05"; # Did you read the comment?
|
||||||
|
}
|
||||||
|
|
||||||
339
nixos/configuration_old.nix
Normal file
339
nixos/configuration_old.nix
Normal file
@@ -0,0 +1,339 @@
|
|||||||
|
# ________ ___ ___ ___ ________ ________
|
||||||
|
#|\ ___ \ |\ \ |\ \ / /||\ __ \ |\ ____\
|
||||||
|
#\ \ \\ \ \ \ \ \ \ \ \/ / /\ \ \|\ \ \ \ \___|_
|
||||||
|
# \ \ \\ \ \ \ \ \ \ \ / / \ \ \\\ \ \ \_____ \
|
||||||
|
# \ \ \\ \ \ \ \ \ / \/ \ \ \\\ \ \|____|\ \
|
||||||
|
# \ \__\\ \__\ \ \__\ / /\ \ \ \_______\ ____\_\ \
|
||||||
|
# \|__| \|__| \|__|/__/ /\ __\ \|_______| |\_________\
|
||||||
|
# |__|/ \|__| \|_________|
|
||||||
|
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
# bash script to let dbus know about important env variables and
|
||||||
|
# propagate them to relevent services run at the end of sway config
|
||||||
|
# see
|
||||||
|
# https://github.com/emersion/xdg-desktop-portal-wlr/wiki/"It-doesn't-work"-Troubleshooting-Checklist
|
||||||
|
# note: this is pretty much the same as /etc/sway/config.d/nixos.conf but also restarts
|
||||||
|
# some user services to make sure they have the correct environment variables
|
||||||
|
dbus-sway-environment = pkgs.writeTextFile {
|
||||||
|
name = "dbus-sway-environment";
|
||||||
|
destination = "/bin/dbus-sway-environment";
|
||||||
|
executable = true;
|
||||||
|
|
||||||
|
text = ''
|
||||||
|
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
||||||
|
systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
|
||||||
|
systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
# currently, there is some friction between sway and gtk:
|
||||||
|
# https://github.com/swaywm/sway/wiki/GTK-3-settings-on-Wayland
|
||||||
|
# the suggested way to set gtk settings is with gsettings
|
||||||
|
# for gsettings to work, we need to tell it where the schemas are
|
||||||
|
# using the XDG_DATA_DIR environment variable
|
||||||
|
# run at the end of sway config
|
||||||
|
configure-gtk = pkgs.writeTextFile {
|
||||||
|
name = "configure-gtk";
|
||||||
|
destination = "/bin/configure-gtk";
|
||||||
|
executable = true;
|
||||||
|
text = let
|
||||||
|
schema = pkgs.gsettings-desktop-schemas;
|
||||||
|
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
|
||||||
|
in ''
|
||||||
|
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
|
||||||
|
gnome_schema=org.gnome.desktop.interface
|
||||||
|
gsettings set $gnome_schema gtk-theme 'Dracula'
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
nixpkgs = {
|
||||||
|
config.packageOverrides = pkgs: {
|
||||||
|
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
||||||
|
};
|
||||||
|
# allow a collection of pakages
|
||||||
|
config.allowUnfree = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
imports = [ # Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
# Bootloader.
|
||||||
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||||
|
|
||||||
|
networking.hostName = "zipos"; # Define your hostname.
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
|
||||||
|
|
||||||
|
# Enable networking
|
||||||
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
time.timeZone = "Europe/Copenhagen";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
i18n.defaultLocale = "en_DK.UTF-8";
|
||||||
|
|
||||||
|
i18n.extraLocaleSettings = {
|
||||||
|
LC_ADDRESS = "da_DK.UTF-8";
|
||||||
|
LC_IDENTIFICATION = "da_DK.UTF-8";
|
||||||
|
LC_MEASUREMENT = "da_DK.UTF-8";
|
||||||
|
LC_MONETARY = "da_DK.UTF-8";
|
||||||
|
LC_NAME = "da_DK.UTF-8";
|
||||||
|
LC_NUMERIC = "da_DK.UTF-8";
|
||||||
|
LC_PAPER = "da_DK.UTF-8";
|
||||||
|
LC_TELEPHONE = "da_DK.UTF-8";
|
||||||
|
LC_TIME = "da_DK.UTF-8";
|
||||||
|
};
|
||||||
|
# _ _
|
||||||
|
#| | | |
|
||||||
|
#| |__ __ _ _ __ __| |__ __ __ _ _ __ ___
|
||||||
|
#| '_ \ / _` || '__| / _` |\ \ /\ / / / _` || '__| / _ \
|
||||||
|
#| | | || (_| || | | (_| | \ V V / | (_| || | | __/
|
||||||
|
#|_| |_| \__,_||_| \__,_| \_/\_/ \__,_||_| \___|
|
||||||
|
hardware.opengl = {
|
||||||
|
enable = true;
|
||||||
|
extraPackages = with pkgs; [
|
||||||
|
amdvlk
|
||||||
|
intel-media-driver
|
||||||
|
vaapiIntel
|
||||||
|
vaapiVdpau
|
||||||
|
libvdpau-va-gl
|
||||||
|
intel-compute-runtime
|
||||||
|
];
|
||||||
|
# To enable Vulkan support for 32-bit applications, also add:
|
||||||
|
extraPackages32 = with pkgs; [
|
||||||
|
pkgs.driversi686Linux.amdvlk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# Force radv
|
||||||
|
environment.variables.AMD_VULKAN_ICD = "RADV";
|
||||||
|
# Or
|
||||||
|
environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/radeon_icd.x86_64.json";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# enabeling wayland
|
||||||
|
xdg = {
|
||||||
|
portal = {
|
||||||
|
wlr.enable = true;
|
||||||
|
enable = true;
|
||||||
|
extraPortals = with pkgs; [
|
||||||
|
xdg-desktop-portal-wlr
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# ______ ______ ______ __ __ __ ______ ______ ______
|
||||||
|
#/\ ___\ /\ ___\ /\ == \ /\ \ / / /\ \ /\ ___\ /\ ___\ /\ ___\
|
||||||
|
#\ \___ \ \ \ __\ \ \ __< \ \ \'/ \ \ \ \ \ \____ \ \ __\ \ \___ \
|
||||||
|
# \/\_____\ \ \_____\ \ \_\ \_\ \ \__| \ \_\ \ \_____\ \ \_____\ \/\_____\
|
||||||
|
# \/_____/ \/_____/ \/_/ /_/ \/_/ \/_/ \/_____/ \/_____/ \/_____/
|
||||||
|
|
||||||
|
services = {
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
# setting cinnamon as dafult
|
||||||
|
desktopManager.cinnamon.enable = true;
|
||||||
|
displayManager = {
|
||||||
|
defaultSession = "cinnamon";
|
||||||
|
gdm.enable = true;
|
||||||
|
# login settings
|
||||||
|
autoLogin.enable = false;
|
||||||
|
autoLogin.user = "zipfriis";
|
||||||
|
};
|
||||||
|
|
||||||
|
# X11 keymap
|
||||||
|
layout = "us";
|
||||||
|
xkbVariant = "";
|
||||||
|
|
||||||
|
# set window manager
|
||||||
|
windowManager = {
|
||||||
|
qtile = {
|
||||||
|
enable = true;
|
||||||
|
backend = "wayland";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
# audio backend
|
||||||
|
pipewire = {
|
||||||
|
enable = true;
|
||||||
|
alsa.enable = true;
|
||||||
|
alsa.support32Bit = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
jack.enable = true;
|
||||||
|
};
|
||||||
|
# self hosted media server
|
||||||
|
#jellyfin.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
# Enable sound with pipewire.
|
||||||
|
sound.enable = true;
|
||||||
|
hardware.pulseaudio.enable = false;
|
||||||
|
security.rtkit.enable = true;
|
||||||
|
# __ __ ______ ______ ______ ______
|
||||||
|
# /\ \/\ \ /\ ___\ /\ ___\ /\ == \ /\ ___\
|
||||||
|
# \ \ \_\ \ \ \___ \ \ \ __\ \ \ __< \ \___ \
|
||||||
|
# \ \_____\ \/\_____\ \ \_____\ \ \_\ \_\ \/\_____\
|
||||||
|
# \/_____/ \/_____/ \/_____/ \/_/ /_/ \/_____/
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
users.users = {
|
||||||
|
zipfriis = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "zipfriis";
|
||||||
|
extraGroups = [ "networkmanager" "wheel" ];
|
||||||
|
packages = with pkgs; [
|
||||||
|
neofetch
|
||||||
|
firefox
|
||||||
|
vscode
|
||||||
|
steam
|
||||||
|
discord
|
||||||
|
obs-studio
|
||||||
|
lutris
|
||||||
|
godot_4
|
||||||
|
kicad
|
||||||
|
inkscape
|
||||||
|
mpv
|
||||||
|
freecad
|
||||||
|
|
||||||
|
# anonymous browsing
|
||||||
|
i2pd
|
||||||
|
librewolf-unwrapped
|
||||||
|
tor-browser-bundle-bin
|
||||||
|
qbittorrent
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.defaultUserShell = pkgs.zsh;
|
||||||
|
# ______ ______ ______ ______ ______ ______ __ __ ______
|
||||||
|
# /\ == \ /\ == \ /\ __ \ /\ ___\ /\ == \ /\ __ \ /\ "-./ \ /\ ___\
|
||||||
|
# \ \ _-/ \ \ __< \ \ \/\ \ \ \ \__ \ \ \ __< \ \ __ \ \ \ \-./\ \ \ \___ \
|
||||||
|
# \ \_\ \ \_\ \_\ \ \_____\ \ \_____\ \ \_\ \_\ \ \_\ \_\ \ \_\ \ \_\ \/\_____\
|
||||||
|
# \/_/ \/_/ /_/ \/_____/ \/_____/ \/_/ /_/ \/_/\/_/ \/_/ \/_/ \/_____/
|
||||||
|
|
||||||
|
|
||||||
|
# here we declare pakages for the system
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
|
||||||
|
# Programs for developers
|
||||||
|
nasm # is a 80x86 and x86-64 assembler
|
||||||
|
vim # terminal text editor
|
||||||
|
zsh # terminal shell
|
||||||
|
alacritty # terminal emulator
|
||||||
|
unzip # extract files which is compressed
|
||||||
|
htop # see dekstop utilizeation
|
||||||
|
man # manunals for commands
|
||||||
|
python39 # python 3
|
||||||
|
git # git
|
||||||
|
|
||||||
|
# Desktop tools
|
||||||
|
handbrake
|
||||||
|
pulseaudio
|
||||||
|
pavucontrol
|
||||||
|
|
||||||
|
|
||||||
|
gnome.nautilus
|
||||||
|
gnome.gnome-system-monitor
|
||||||
|
|
||||||
|
# intertainment
|
||||||
|
spotify
|
||||||
|
|
||||||
|
|
||||||
|
feh
|
||||||
|
wbg
|
||||||
|
wget
|
||||||
|
qpwgraph
|
||||||
|
wofi
|
||||||
|
polkit_gnome
|
||||||
|
wlroots
|
||||||
|
thefuck
|
||||||
|
jellyfin
|
||||||
|
ueberzug
|
||||||
|
|
||||||
|
# sway
|
||||||
|
sway
|
||||||
|
wayland
|
||||||
|
xdg-utils
|
||||||
|
glib # gsettings
|
||||||
|
dracula-theme # gtk theme
|
||||||
|
gnome3.adwaita-icon-theme # default gnome cursors
|
||||||
|
swaylock
|
||||||
|
swayidle
|
||||||
|
grim # screenshot functionality
|
||||||
|
slurp # screenshot functionality
|
||||||
|
wl-clipboard # wl-copy and wl-paste for copy/paste from stdin / stdout
|
||||||
|
bemenu # wayland clone of dmenu
|
||||||
|
mako # notification system developed by swaywm maintainer
|
||||||
|
wdisplays # tool to configure displays
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
environment.sessionVariables = {
|
||||||
|
MOZ_ENABLE_WAYLAND = "1";
|
||||||
|
};
|
||||||
|
|
||||||
|
fonts.fonts = with pkgs; [
|
||||||
|
noto-fonts
|
||||||
|
noto-fonts-cjk
|
||||||
|
noto-fonts-emoji
|
||||||
|
liberation_ttf
|
||||||
|
fira-code
|
||||||
|
fira-code-symbols
|
||||||
|
mplus-outline-fonts.githubRelease
|
||||||
|
dina-font
|
||||||
|
proggyfonts
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
zsh = {
|
||||||
|
enable = true;
|
||||||
|
shellAliases = {
|
||||||
|
ll = "ls -la";
|
||||||
|
update = "sudo nixos-rebuild switch --upgrade";
|
||||||
|
fetch = "neofetch";
|
||||||
|
};
|
||||||
|
ohMyZsh = {
|
||||||
|
enable = true;
|
||||||
|
plugins = [ "git" "thefuck" ];
|
||||||
|
theme = "jonathan";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
steam = {
|
||||||
|
enable = true;
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
dedicatedServer.openFirewall = true;
|
||||||
|
};
|
||||||
|
sway = {
|
||||||
|
enable = true;
|
||||||
|
wrapperFeatures.gtk = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
nix.gc.automatic = true;
|
||||||
|
nix.gc.dates = "20:00";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
system.stateVersion = "23.05"; # Did you read the comment?
|
||||||
|
}
|
||||||
|
|
||||||
45
nixos/hardware-configuration.nix
Normal file
45
nixos/hardware-configuration.nix
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# 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 = [ "xhci_pci" "ahci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/21303273-8025-48c7-adff-0cc7ba867b13";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/2272-82DA";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/mnt/DATA" =
|
||||||
|
{ device = "/dev/disk/by-uuid/0ac7b949-3bed-4223-8eda-993ed8d4baeb";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices =
|
||||||
|
[ { device = "/dev/disk/by-uuid/a242794d-10d9-4578-a7af-5c6e2f15bc1f"; }
|
||||||
|
];
|
||||||
|
|
||||||
|
# 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.enp0s31f6.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user