From b1196529b22f150e0494d8b6714f1946cda7011d Mon Sep 17 00:00:00 2001 From: ingressy Date: Wed, 17 Jun 2026 14:40:26 +0000 Subject: [PATCH] Dateien nach "/" hochladen --- configuration.nix | 165 +++++++++++++++++++++++++++++++++++ eww.nix | 48 +++++++++++ flake.lock | 170 +++++++++++++++++++++++++++++++++++++ flake.nix | 24 ++++++ hardware-configuration.nix | 47 ++++++++++ 5 files changed, 454 insertions(+) create mode 100644 configuration.nix create mode 100644 eww.nix create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 hardware-configuration.nix diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..7dfc7af --- /dev/null +++ b/configuration.nix @@ -0,0 +1,165 @@ +# 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, inputs, ... }: + +{ + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ]; + + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; + + # Use latest kernel. + boot.kernelPackages = pkgs.linuxPackages_latest; + + boot.initrd.luks.devices."luks-9229fc83-6d6a-4948-a735-42579ddafccf".device = "/dev/disk/by-uuid/9229fc83-6d6a-4948-a735-42579ddafccf"; + networking.hostName = "yogourt"; # 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/Berlin"; + + # Select internationalisation properties. + i18n.defaultLocale = "en_GB.UTF-8"; + + i18n.extraLocaleSettings = { + LC_ADDRESS = "de_DE.UTF-8"; + LC_IDENTIFICATION = "de_DE.UTF-8"; + LC_MEASUREMENT = "de_DE.UTF-8"; + LC_MONETARY = "de_DE.UTF-8"; + LC_NAME = "de_DE.UTF-8"; + LC_NUMERIC = "de_DE.UTF-8"; + LC_PAPER = "de_DE.UTF-8"; + LC_TELEPHONE = "de_DE.UTF-8"; + LC_TIME = "de_DE.UTF-8"; + }; + + # Configure keymap in X11 + services.xserver.xkb = { + layout = "de"; + variant = ""; + }; + + # Configure console keymap + console.keyMap = "de"; + + # Define a user account. Don't forget to set a password with ‘passwd’. + programs.fish.enable = true; + users.users."floppy" = { + isNormalUser = true; + description = "Noora Liv"; + extraGroups = [ "networkmanager" "wheel" ]; + shell = pkgs.fish; + packages = with pkgs; []; + }; + + # Allow unfree packages + nixpkgs.config.allowUnfree = true; + + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ + fish + git + cups-pk-helper + alacritty + ]; + + # 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 = "26.05"; # Did you read the comment? + + hardware.graphics = { + enable = true; + enable32Bit = true; # für 32-bit Apps / Steam + extraPackages = with pkgs; [ + intel-media-driver + intel-compute-runtime # OpenCL Support + ]; + }; + nix.settings.experimental-features = [ "nix-command" "flakes" ]; + #niri + programs.niri.enable = true; + + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + extraSpecialArgs = { inherit inputs; }; # inputs auch an home-manager weitergeben + users.floppy = import ./home.nix; # dein Username + }; + + #sddm + services.displayManager.sddm.enable = true; + services.displayManager.defaultSession = "niri"; + services.displayManager.sddm.wayland.enable = true; + + #Audio + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + }; + security.rtkit.enable = true; + + # Bluetooth + hardware.bluetooth.enable = true; + hardware.bluetooth.powerOnBoot = true; + services.blueman.enable = true; + + # Drucker + services.printing.enable = true; + services.avahi = { + enable = true; + nssmdns4 = true; # Netzwerkdrucker-Erkennung + }; + # Fonts + fonts.packages = with pkgs; [ + noto-fonts + noto-fonts-cjk-sans + noto-fonts-color-emoji + inter + nerd-fonts.jetbrains-mono + nerd-fonts.fira-code + ]; + fonts.fontconfig.defaultFonts = { + sansSerif = [ "Inter" ]; + monospace = [ "JetBrainsMono Nerd Font" ]; + }; + +} diff --git a/eww.nix b/eww.nix new file mode 100644 index 0000000..e0297ad --- /dev/null +++ b/eww.nix @@ -0,0 +1,48 @@ +{ config, pkgs, ... }: +{ + xdg.configFile."eww/eww.yuck".text = '' + (defpoll clock :interval "1s" + "date '+%H:%M'") + + (defwidget bar [] + (box :class "bar" :orientation "h" + (label :class "clock" :text clock))) + + (defwindow bar0 + :monitor 0 + :geometry (geometry + :x "0px" :y "0px" + :width "100%" :height "36px" + :anchor "top center") + :exclusive true + (bar)) + + (defwindow bar1 + :monitor 1 + :geometry (geometry + :x "0px" :y "0px" + :width "100%" :height "36px" + :anchor "top center") + :exclusive true + (bar)) +''; + + xdg.configFile."eww/eww.scss".text = '' + * { + all: unset; + font-family: "JetBrainsMono Nerd Font"; + font-size: 13px; + } + + window { + background-color: rgba(30, 30, 46, 0.9); + color: #cdd6f4; + } + + .clock { + padding: 0 12px; + color: #89b4fa; + font-weight: bold; + } + ''; +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..93d3aaf --- /dev/null +++ b/flake.lock @@ -0,0 +1,170 @@ +{ + "nodes": { + "home-manager": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1781615165, + "narHash": "sha256-CFF4fNNfr2GZSx1xJhBNBi7VMj8OtOqZGOV+fiBSbzw=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "34dd288e65012954cf7170658e0e6a61255b0327", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "niri": { + "inputs": { + "niri-stable": "niri-stable", + "niri-unstable": "niri-unstable", + "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable", + "xwayland-satellite-stable": "xwayland-satellite-stable", + "xwayland-satellite-unstable": "xwayland-satellite-unstable" + }, + "locked": { + "lastModified": 1781610921, + "narHash": "sha256-PXyfDFGyW+UYteu3uHJgp49sFHRU16iocf5K2ltqn3M=", + "owner": "sodiboo", + "repo": "niri-flake", + "rev": "e5857dc58304b3d5bbac6340820f7d4450688538", + "type": "github" + }, + "original": { + "owner": "sodiboo", + "repo": "niri-flake", + "type": "github" + } + }, + "niri-stable": { + "flake": false, + "locked": { + "lastModified": 1756556321, + "narHash": "sha256-RLD89dfjN0RVO86C/Mot0T7aduCygPGaYbog566F0Qo=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "01be0e65f4eb91a9cd624ac0b76aaeab765c7294", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "ref": "v25.08", + "repo": "niri", + "type": "github" + } + }, + "niri-unstable": { + "flake": false, + "locked": { + "lastModified": 1781588278, + "narHash": "sha256-Fw/Zo0hwgn9ulgY5duQy51WHtqpNoLjNDZYLdEI1SS4=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "fdb6d85fc78355762bcf3cf71fe4037681a766f9", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "repo": "niri", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1781074563, + "narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1781509190, + "narHash": "sha256-uJZs9Di8I6ciTp6jiojj0HzlNpBkud8ax5aT/O5aJkw=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "d6df3513510aa548c83868fd22bfddd0a8c0a0d4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1781074563, + "narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "home-manager": "home-manager", + "niri": "niri", + "nixpkgs": "nixpkgs_2" + } + }, + "xwayland-satellite-stable": { + "flake": false, + "locked": { + "lastModified": 1755491097, + "narHash": "sha256-m+9tUfsmBeF2Gn4HWa6vSITZ4Gz1eA1F5Kh62B0N4oE=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "388d291e82ffbc73be18169d39470f340707edaa", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "ref": "v0.7", + "repo": "xwayland-satellite", + "type": "github" + } + }, + "xwayland-satellite-unstable": { + "flake": false, + "locked": { + "lastModified": 1781226823, + "narHash": "sha256-28696iIw8uE0ZUyFTtzhEM8xMh85clCYypMxkvUi+sc=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "8575d0ef55d70f9b4c46b6bffb3accf912217e1e", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..8255ab9 --- /dev/null +++ b/flake.nix @@ -0,0 +1,24 @@ +{ + description = "Yogourt Laptop"; + + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + niri.url = "github:sodiboo/niri-flake"; + }; + + outputs = { self, home-manager, nixpkgs, ... }@inputs: { + nixosConfigurations.yogourt = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs; }; + modules = [ + ./configuration.nix + home-manager.nixosModules.home-manager + inputs.niri.nixosModules.niri + ]; + }; + }; +} diff --git a/hardware-configuration.nix b/hardware-configuration.nix new file mode 100644 index 0000000..c4c9c16 --- /dev/null +++ b/hardware-configuration.nix @@ -0,0 +1,47 @@ +# 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" "thunderbolt" "vmd" "nvme" "usb_storage" "usbhid" "sd_mod" "sdhci_pci" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/mapper/luks-de9471a0-8a6b-49e7-a2a4-fbaf07e73cd8"; + fsType = "btrfs"; + }; + + boot.initrd.luks.devices."luks-de9471a0-8a6b-49e7-a2a4-fbaf07e73cd8".device = "/dev/disk/by-uuid/de9471a0-8a6b-49e7-a2a4-fbaf07e73cd8"; + + fileSystems."/home" = + { device = "/dev/mapper/luks-de9471a0-8a6b-49e7-a2a4-fbaf07e73cd8"; + fsType = "btrfs"; + options = [ "subvol=home" ]; + }; + + fileSystems."/nix" = + { device = "/dev/mapper/luks-de9471a0-8a6b-49e7-a2a4-fbaf07e73cd8"; + fsType = "btrfs"; + options = [ "subvol=nix" ]; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/2542-95A7"; + fsType = "vfat"; + options = [ "fmask=0077" "dmask=0077" ]; + }; + + swapDevices = + [ { device = "/dev/mapper/luks-9229fc83-6d6a-4948-a735-42579ddafccf"; } + ]; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +}