From c87350f6a7f95ea16b2e46e66488c52e2a191886 Mon Sep 17 00:00:00 2001 From: Noa Aarts Date: Thu, 29 Feb 2024 16:08:27 +0100 Subject: [PATCH] updates, and maybe working discord --- flake.lock | 18 +-- hosts/default/configuration.nix | 172 ++++++++++++++--------------- hosts/default/electron-wayland.nix | 24 ++++ hosts/default/home.nix | 31 ++++-- update.sh | 3 + 5 files changed, 146 insertions(+), 102 deletions(-) create mode 100644 hosts/default/electron-wayland.nix create mode 100755 update.sh diff --git a/flake.lock b/flake.lock index ced671b..8feed63 100644 --- a/flake.lock +++ b/flake.lock @@ -98,11 +98,11 @@ ] }, "locked": { - "lastModified": 1708988456, - "narHash": "sha256-RCz7Xe64tN2zgWk+MVHkzg224znwqknJ1RnB7rVqUWw=", + "lastModified": 1709204054, + "narHash": "sha256-U1idK0JHs1XOfSI1APYuXi4AEADf+B+ZU4Wifc0pBHk=", "owner": "nix-community", "repo": "home-manager", - "rev": "1d085ea4444d26aa52297758b333b449b2aa6fca", + "rev": "2f3367769a93b226c467551315e9e270c3f78b15", "type": "github" }, "original": { @@ -155,11 +155,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1708984720, - "narHash": "sha256-gJctErLbXx4QZBBbGp78PxtOOzsDaQ+yw1ylNQBuSUY=", + "lastModified": 1709150264, + "narHash": "sha256-HofykKuisObPUfj0E9CJVfaMhawXkYx3G8UIFR/XQ38=", "owner": "nixos", "repo": "nixpkgs", - "rev": "13aff9b34cc32e59d35c62ac9356e4a41198a538", + "rev": "9099616b93301d5cf84274b184a3a5ec69e94e08", "type": "github" }, "original": { @@ -181,11 +181,11 @@ "pre-commit-hooks": "pre-commit-hooks" }, "locked": { - "lastModified": 1709118025, - "narHash": "sha256-IwzgIAKHJI+qcno0pExTOfhqKgHzA5vc++gfgJ0ZCok=", + "lastModified": 1709155917, + "narHash": "sha256-S4yHqDKFmJpFQExP7bkOSw+RQaSr8pdOrfSFCOv3G70=", "owner": "nix-community", "repo": "nixvim", - "rev": "8bb460e261dd0fd8ac3f544f8a2a28ad64616cbe", + "rev": "be87309e0c1da19d99d969625300aaed36ff1b91", "type": "github" }, "original": { diff --git a/hosts/default/configuration.nix b/hosts/default/configuration.nix index bc367e6..6a476ed 100644 --- a/hosts/default/configuration.nix +++ b/hosts/default/configuration.nix @@ -1,55 +1,55 @@ # Edit this configuration file to define what should be installed on -# your system. Help is available in the configuration.nix(5) man page +# 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 - ./nvidia.nix - inputs.home-manager.nixosModules.default - ]; + imports = + [ # Include the results of the hardware scan. + ./hardware-configuration.nix + ./nvidia.nix + inputs.home-manager.nixosModules.default + ]; - # Bootloader. - boot.loader.systemd-boot.enable = true; - boot.loader.efi.canTouchEfiVariables = true; + # Bootloader. + boot.loader.systemd-boot.enable = true; + boot.loader.efi.canTouchEfiVariables = true; - networking.hostName = "lambdaOS"; # Define your hostname. - # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant. + networking.hostName = "lambdaOS"; # 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"; + # 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; + # Enable networking + networking.networkmanager.enable = true; nix.settings = { # auto optimise every so often auto-optimise-store = true; experimental-features = ["nix-command" "flakes"]; }; - # Set your time zone. - time.timeZone = "Europe/Amsterdam"; + # Set your time zone. + time.timeZone = "Europe/Amsterdam"; - # Select internationalisation properties. - i18n.defaultLocale = "en_US.UTF-8"; + # Select internationalisation properties. + i18n.defaultLocale = "en_US.UTF-8"; - i18n.extraLocaleSettings = { - LC_ADDRESS = "nl_NL.UTF-8"; - LC_IDENTIFICATION = "nl_NL.UTF-8"; - LC_MEASUREMENT = "nl_NL.UTF-8"; - LC_MONETARY = "nl_NL.UTF-8"; - LC_NAME = "nl_NL.UTF-8"; - LC_NUMERIC = "nl_NL.UTF-8"; - LC_PAPER = "nl_NL.UTF-8"; - LC_TELEPHONE = "nl_NL.UTF-8"; - LC_TIME = "nl_NL.UTF-8"; - }; + i18n.extraLocaleSettings = { + LC_ADDRESS = "nl_NL.UTF-8"; + LC_IDENTIFICATION = "nl_NL.UTF-8"; + LC_MEASUREMENT = "nl_NL.UTF-8"; + LC_MONETARY = "nl_NL.UTF-8"; + LC_NAME = "nl_NL.UTF-8"; + LC_NUMERIC = "nl_NL.UTF-8"; + LC_PAPER = "nl_NL.UTF-8"; + LC_TELEPHONE = "nl_NL.UTF-8"; + LC_TIME = "nl_NL.UTF-8"; + }; - services.xserver = { + services.xserver = { enable = true; displayManager = { sddm.enable = true; @@ -59,41 +59,41 @@ layout = "us"; variant = "intl"; }; - }; + }; - # Configure console keymap - console.keyMap = "us-acentos"; + # Configure console keymap + console.keyMap = "us-acentos"; users.groups.nixpow.members = [ "root" ]; - # Define a user account. Don't forget to set a password with ‘passwd’. - users.users.noa = { - isNormalUser = true; - description = "Noa Aarts"; - extraGroups = [ "networkmanager" "wheel" "nixpow" ]; - packages = with pkgs; [ - ]; - }; + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.noa = { + isNormalUser = true; + description = "Noa Aarts"; + extraGroups = [ "networkmanager" "wheel" "nixpow" ]; + packages = with pkgs; [ + ]; + }; - home-manager = { - extraSpecialArgs = { inherit inputs; }; - users = { - "noa" = import ./home.nix; + home-manager = { + extraSpecialArgs = { inherit inputs; }; + users = { + "noa" = import ./home.nix; "root" = import ./root.nix; - }; - }; + }; + }; - # Allow unfree packages - nixpkgs.config.allowUnfree = true; + # Allow unfree packages + nixpkgs.config.allowUnfree = true; - # List packages installed in system profile. To search, run: - # $ nix search wget - environment.systemPackages = with pkgs; [ + # List packages installed in system profile. To search, run: + # $ nix search wget + environment.systemPackages = with pkgs; [ neovim sddm git zsh - ]; + ]; # TODO find list of fonts to install fonts.packages = with pkgs; [ @@ -104,49 +104,49 @@ liberation_ttf ]; - # 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; - # }; + # 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; + # }; - programs.neovim.enable = true; - programs.neovim.defaultEditor = true; + programs.neovim.enable = true; + programs.neovim.defaultEditor = true; - programs.zsh.enable = true; + programs.zsh.enable = true; programs.hyprland.enable = true; - users.defaultUserShell = pkgs.zsh; + users.defaultUserShell = pkgs.zsh; - security.rtkit.enable = true; - services.pipewire = { - enable = true; + security.rtkit.enable = true; + services.pipewire = { + enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; - }; + }; - # List services that you want to enable: + # List services that you want to enable: - # Enable the OpenSSH daemon. - # services.openssh.enable = true; + # 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; + # 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.11"; # Did you read the comment? + # 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.11"; # Did you read the comment? } diff --git a/hosts/default/electron-wayland.nix b/hosts/default/electron-wayland.nix new file mode 100644 index 0000000..8254c24 --- /dev/null +++ b/hosts/default/electron-wayland.nix @@ -0,0 +1,24 @@ +self: +let + enableWayland = drv: bin: drv.overrideAttrs ( + old: { + nativeBuildInputs = (old.nativeBuildInputs or []) ++ [ self.makeWrapper ]; + postFixup = (old.postFixup or "") + '' + wrapProgram $out/bin/${bin} \ + --add-flags "--enable-features=UseOzonePlatform" \ + --add-flags "--ozone-platform=wayland" + ''; + } + ); +in +super: + { + slack = enableWayland super.slack "slack"; + discord = enableWayland super.discord "discord"; + vscode = enableWayland super.vscode "code"; + google-chrome-beta = ( + super.google-chrome-beta.override { + commandLineArgs = "--enable-features=UseOzonePlatform --ozone-platform=wayland"; + } + ); + } diff --git a/hosts/default/home.nix b/hosts/default/home.nix index f42a497..699d271 100644 --- a/hosts/default/home.nix +++ b/hosts/default/home.nix @@ -21,6 +21,10 @@ nixpkgs.config.allowUnfree = true; + nixpkgs.overlays = [ + (import ./electron-wayland.nix) + ]; + # The home.packages option allows you to install Nix packages into your # environment. home.packages = with pkgs; [ @@ -32,18 +36,22 @@ mtr firefox - (writeShellScriptBin "spotify" '' - exec ${pkgs.spotify}/bin/spotify --enable-features=UseOzonePlatform --ozone-platform=wayland - '') + # (writeShellScriptBin "spotify" '' + # exec ${pkgs.spotify}/bin/spotify --enable-features=UseOzonePlatform --ozone-platform=wayland + # '') + spotify hyprland dunst waybar wl-clipboard - (writeShellScriptBin "discord" '' - exec ${discord}/bin/discord --enable-features=UseOzonePlatform --ozone-platform=wayland - '') + dconf + + # (writeShellScriptBin "discord" '' + # exec ${discord}/bin/discord --enable-features=UseOzonePlatform --ozone-platform=wayland + # '') + discord kitty pipewire lsd @@ -124,6 +132,15 @@ xdg.userDirs.enable = true; xdg.userDirs.createDirectories = true; + dconf = { + enable = true; + settings = { + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + }; + }; + }; + # Let Home Manager install and manage itself. programs.home-manager.enable = true; @@ -142,7 +159,7 @@ #window { margin: 10px; border: none; - background-color: transparent; + background-color: #530035; border-radius: 10px; font-family: JetBrains Mono NF, diff --git a/update.sh b/update.sh new file mode 100755 index 0000000..bd5c256 --- /dev/null +++ b/update.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "hewwo"