This commit is contained in:
samantha42
2026-03-07 06:21:35 +01:00
parent 07edff0088
commit c49bbe21f7
8 changed files with 0 additions and 1087 deletions

View File

@@ -1,64 +0,0 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll site to Pages
on:
# Runs on pushes targeting the default branch
push:
branches: ["master"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Ruby
uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
with:
ruby-version: '3.1' # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
cache-version: 0 # Increment this number if you need to re-download cached gems
- name: Setup Pages
id: pages
uses: actions/configure-pages@v3
- name: Build with Jekyll
# Outputs to the './_site' directory by default
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
- name: Upload artifact
# Automatically uploads an artifact from the './_site' directory by default
uses: actions/upload-pages-artifact@v1
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2

View File

@@ -1,184 +0,0 @@
# 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, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# 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";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
#services.xserver.videoDrivers = ["amdgpu-pro"];
## amd drivers
hardware.opengl.extraPackages = [
pkgs.amdvlk
];
# To enable Vulkan support for 32-bit applications, also add:
hardware.opengl.extraPackages32 = [
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";
# Enable the Cinnamon Desktop Environment.
services.xserver.displayManager.lightdm.enable = true;
services.xserver.desktopManager.cinnamon.enable = true;
services.xserver.windowManager = {
herbstluftwm.enable = true;
hypr.enable = true;
};
# Configure keymap in X11
services.xserver = {
layout = "us";
xkbVariant = "";
};
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.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;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
programs.steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
};
# 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; [
firefox
vscode
steam
discord
alacritty
pavucontrol
obs-studio
lutris
godot_4
kicad
inkscape
rofi
kitty
# thunderbird
];
};
# Enable automatic login for the user.
services.xserver.displayManager.autoLogin.enable = false;
services.xserver.displayManager.autoLogin.user = "zipfriis";
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
wget
qpwgraph
pulseaudio
herbstluftwm
hyprland
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.05"; # Did you read the comment?
}

View File

@@ -1,40 +0,0 @@
# 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";
};
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;
}

View File

@@ -1,45 +0,0 @@
# 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;
}

View File

@@ -1,65 +0,0 @@
{ 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;
};
};
}

View File

@@ -1,305 +0,0 @@
# ________ ___ ___ ___ ________ ________
#|\ ___ \ |\ \ |\ \ / /||\ __ \ |\ ____\
#\ \ \\ \ \ \ \ \ \ \ \/ / /\ \ \|\ \ \ \ \___|_
# \ \ \\ \ \ \ \ \ \ \ / / \ \ \\\ \ \ \_____ \
# \ \ \\ \ \ \ \ \ / \/ \ \ \\\ \ \|____|\ \
# \ \__\\ \__\ \ \__\ / /\ \ \ \_______\ ____\_\ \
# \|__| \|__| \|__|/__/ /\ __\ \|_______| |\_________\
# |__|/ \|__| \|_________|
{ 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?
}

View File

@@ -1,339 +0,0 @@
# ________ ___ ___ ___ ________ ________
#|\ ___ \ |\ \ |\ \ / /||\ __ \ |\ ____\
#\ \ \\ \ \ \ \ \ \ \ \/ / /\ \ \|\ \ \ \ \___|_
# \ \ \\ \ \ \ \ \ \ \ / / \ \ \\\ \ \ \_____ \
# \ \ \\ \ \ \ \ \ / \/ \ \ \\\ \ \|____|\ \
# \ \__\\ \__\ \ \__\ / /\ \ \ \_______\ ____\_\ \
# \|__| \|__| \|__|/__/ /\ __\ \|_______| |\_________\
# |__|/ \|__| \|_________|
{ 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?
}

View File

@@ -1,45 +0,0 @@
# 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;
}