From c49bbe21f73070432e386d83b25916d7055a7886 Mon Sep 17 00:00:00 2001 From: samantha42 Date: Sat, 7 Mar 2026 06:21:35 +0100 Subject: [PATCH] new --- .github/workflows/jekyll.yml | 64 ---- configuration.nix | 184 ---------- hardware-configuration.nix | 40 --- nixos/config_comp/hardware-configuration.nix | 45 --- nixos/config_comp/services.nix | 65 ---- nixos/configuration.nix | 305 ----------------- nixos/configuration_old.nix | 339 ------------------- nixos/hardware-configuration.nix | 45 --- 8 files changed, 1087 deletions(-) delete mode 100644 .github/workflows/jekyll.yml delete mode 100644 configuration.nix delete mode 100644 hardware-configuration.nix delete mode 100644 nixos/config_comp/hardware-configuration.nix delete mode 100644 nixos/config_comp/services.nix delete mode 100644 nixos/configuration.nix delete mode 100644 nixos/configuration_old.nix delete mode 100644 nixos/hardware-configuration.nix diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml deleted file mode 100644 index a4b1bf4..0000000 --- a/.github/workflows/jekyll.yml +++ /dev/null @@ -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 diff --git a/configuration.nix b/configuration.nix deleted file mode 100644 index d0dad53..0000000 --- a/configuration.nix +++ /dev/null @@ -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. It‘s 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? - -} diff --git a/hardware-configuration.nix b/hardware-configuration.nix deleted file mode 100644 index 3a6c4bd..0000000 --- a/hardware-configuration.nix +++ /dev/null @@ -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..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; -} diff --git a/nixos/config_comp/hardware-configuration.nix b/nixos/config_comp/hardware-configuration.nix deleted file mode 100644 index 58a3318..0000000 --- a/nixos/config_comp/hardware-configuration.nix +++ /dev/null @@ -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..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; -} diff --git a/nixos/config_comp/services.nix b/nixos/config_comp/services.nix deleted file mode 100644 index 300ea44..0000000 --- a/nixos/config_comp/services.nix +++ /dev/null @@ -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; - }; - }; -} diff --git a/nixos/configuration.nix b/nixos/configuration.nix deleted file mode 100644 index bb2ba95..0000000 --- a/nixos/configuration.nix +++ /dev/null @@ -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? -} - diff --git a/nixos/configuration_old.nix b/nixos/configuration_old.nix deleted file mode 100644 index 4fa8421..0000000 --- a/nixos/configuration_old.nix +++ /dev/null @@ -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? -} - diff --git a/nixos/hardware-configuration.nix b/nixos/hardware-configuration.nix deleted file mode 100644 index 58a3318..0000000 --- a/nixos/hardware-configuration.nix +++ /dev/null @@ -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..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; -}