From becb262e174a8b7574e8942eecc87062fa375f3d Mon Sep 17 00:00:00 2001 From: Matt Nish-Lapidus Date: Fri, 4 Oct 2024 10:35:41 -0400 Subject: [PATCH] trying hyperland --- flake.lock | 12 +-- home/home.nix | 147 +++++++++++++++++++++++++-------- system/eddie/configuration.nix | 45 ++++------ 3 files changed, 135 insertions(+), 69 deletions(-) diff --git a/flake.lock b/flake.lock index 8b7bbb4..e9a8f5e 100644 --- a/flake.lock +++ b/flake.lock @@ -235,11 +235,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1727634051, - "narHash": "sha256-S5kVU7U82LfpEukbn/ihcyNt2+EvG7Z5unsKW9H/yFA=", + "lastModified": 1727802920, + "narHash": "sha256-HP89HZOT0ReIbI7IJZJQoJgxvB2Tn28V6XS3MNKnfLs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "06cf0e1da4208d3766d898b7fdab6513366d45b9", + "rev": "27e30d177e57d912d614c88c622dcfdb2e6e6515", "type": "github" }, "original": { @@ -266,11 +266,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1727672256, - "narHash": "sha256-9/79hjQc9+xyH+QxeMcRsA6hDyw6Z9Eo1/oxjvwirLk=", + "lastModified": 1727907660, + "narHash": "sha256-QftbyPoieM5M50WKUMzQmWtBWib/ZJbHo7mhj5riQec=", "owner": "nixos", "repo": "nixpkgs", - "rev": "1719f27dd95fd4206afb9cec9f415b539978827e", + "rev": "5966581aa04be7eff830b9e1457d56dc70a0b798", "type": "github" }, "original": { diff --git a/home/home.nix b/home/home.nix index e0a1f97..e0b59f8 100644 --- a/home/home.nix +++ b/home/home.nix @@ -6,7 +6,6 @@ home = { packages = with pkgs; [ just - jq yt-dlp erdtree age @@ -32,7 +31,11 @@ flex bison mesa - + neofetch + nitch + ripgrep-all + silver-searcher + xclip maestral maestral-gui sane-airscan @@ -46,10 +49,19 @@ pciutils util-linux coreutils + binutils libgcc raylib SDL2.dev protonplus + ispell + aspell + aspellDicts.en + aspellDicts.en-computers + texlive.combined.scheme-full + appimage-run + #transmission_4 + #transmission_4-gtk ruby janet @@ -60,12 +72,22 @@ nodejs_18 platformio-core kanata-with-cmd - lazygit icloudpd - jetbrains-mono libheif libheif.out + # node packages + nodePackages.typescript-language-server + nodePackages.vscode-langservers-extracted + + nodePackages.prettier + nodePackages.javascript-typescript-langserver + + nodePackages.stylelint + nodePackages.svelte-language-server + nodePackages.typescript + + nixd fishPlugins.foreign-env @@ -80,7 +102,7 @@ rbw tailscale protonplus - + font-manager gnomeExtensions.just-perfection gnomeExtensions.dash-to-dock gnomeExtensions.solaar-extension @@ -107,10 +129,11 @@ spice-gtk spice-protocol virt-viewer - + virt-manager solaar logitech-udev-rules + syncthingtray impression zoom-us nyxt @@ -144,11 +167,17 @@ kicad openscad-unstable openscad-lsp - + picard + evolutionWithPlugins + mpv plugdata pavucontrol qpwgraph alsa-utils + clapper + amberol + + parinfer-rust-emacs # Audio plugins (LV2, VST2, VST3, LADSPA) distrho @@ -160,12 +189,25 @@ FIL-plugins geonkick bespokesynth + + # Fonts + fira-code + fira + cooper-hewitt + ibm-plex + jetbrains-mono + iosevka + # bitmap + spleen + fira-code-symbols + powerline-fonts + nerdfonts ]; username = "emenel"; homeDirectory = "/home/emenel"; - sessionPath = [ "/home/emenel/.config/emacs/bin" "/home/emenel/.npm-packages/bin" ]; + sessionPath = [ "/home/emenel/.config/emacs/bin" "/home/emenel/.npm-packages/bin" "/home/emenel/Applications" ]; sessionVariables = { EDITOR = "emacsclient -r"; @@ -175,6 +217,8 @@ stateVersion = "24.05"; }; + fonts.fontconfig.enable = true; + programs = { home-manager.enable = true; direnv = { @@ -240,19 +284,37 @@ pandoc.enable = true; password-store.enable = true; #waybar.enable = true; + lazygit.enable = true; + jq.enable = true; }; - wayland.windowManager.sway = { - enable = true; - systemd = { - enable = true; - }; - wrapperFeatures = { - gtk = true; - }; - # config = rec { - # }; + wayland.windowManager.hyprland = { + enable = true; # enable Hyprland + xwayland.enable = true; + #systemd.variables = ["--all"]; + + settings = { + "$mod" = "SUPER"; + # bind = + # [ + # "$mod, F, exec, firefox" + # ", Print, exec, grimblast copy area" + # ] + # ++ ( + # # workspaces + # # binds $mod + [shift +] {1..9} to [move to] workspace {1..9} + # builtins.concatLists (builtins.genList (i: + # let ws = i + 1; + # in [ + # "$mod, code:1${toString i}, workspace, ${toString ws}" + # "$mod SHIFT, code:1${toString i}, movetoworkspace, ${toString ws}" + # ] + # ) + # 9) + # ); + }; }; + home.sessionVariables.NIXOS_OZONE_WL = "1"; dconf.settings = { "org/gnome/desktop/background" = { @@ -284,6 +346,10 @@ services = { flatpak.enable = true; + syncthing = { + enable = true; + tray.enable = true; + }; }; xdg.systemDirs.data = [ @@ -324,19 +390,34 @@ ############ ACCOUNTS - accounts.calendar = { - basePath = ".calendar"; - accounts = { - "emenel" = { - name = "matt@emenel.ca"; - primary = true; - remote = { - passwordCommand = [ "rbw get nixos-fastmail" ]; - type = "caldav"; - url = "caldav.fastmail.com"; - userName = "matt@emenel.ca"; - }; - }; - }; - }; + # accounts.calendar = { + # basePath = ".calendars"; + # accounts = { + # emenel = { + # primaryCollection = "Primary"; + # name = "matt@emenel.ca"; + # primary = true; + # remote = { + # passwordCommand = [ "rbw" "get" "nixos-fastmail" ]; + # type = "caldav"; + # url = "https://caldav.fastmail.com"; + # userName = "matt@emenel.ca"; + # }; + # local = { + # fileExt = ".ics"; + # type = "filesystem"; + # }; + # vdirsyncer = { + # enable = true; + # collections = [ "87220838-CCD7-11ED-AB3D-F5DBFBDED781" ]; + # itemTypes = ["VEVENT"]; + # metadata = ["displayname" "color"]; + # }; + # khal.enable = true; + # khal.color = "dark cyan"; + # khal.type = "discover"; + # khal.addresses = [ "matt@emenel.ca" ]; + # }; + # }; + # }; } diff --git a/system/eddie/configuration.nix b/system/eddie/configuration.nix index 767b5ae..c4336e7 100644 --- a/system/eddie/configuration.nix +++ b/system/eddie/configuration.nix @@ -36,7 +36,7 @@ boot = { # TODO: confirm this works # https://forums.developer.nvidia.com/t/550-54-14-cannot-create-sg-table-for-nvkmskapimemory-spammed-when-launching-chrome-on-wayland/284775/26 - initrd.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ]; # "i915" + initrd.kernelModules = [ "nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm" ]; # extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ]; kernelParams = [ "nvidia-drm.fbdev=1" "nvidia_drm.modeset=1" ]; }; @@ -50,7 +50,7 @@ enable = true; enable32Bit = true; extraPackages = [ - pkgs.rocmPackages.clr.icd + pkgs.rocmPackages.clr.icd ]; }; @@ -114,7 +114,9 @@ # Enable the GNOME Desktop Environment. services.xserver.displayManager.gdm.enable = true; - services.xserver.desktopManager.gnome.enable = true; + services.xserver.displayManager.gdm.wayland = true; + #services.xserver.desktopManager.gnome.enable = true; + programs.hyprland.enable = true; # enable Hyprland services.xserver.deviceSection = ''Option "TearFree" "true"''; # For amdgpu. programs.dconf.enable = true; @@ -154,6 +156,11 @@ ]; }; + programs.steam = { + enable = true; + extraCompatPackages = [ pkgs.proton-ge-bin ]; + }; + # enable fish and launch it from bash for interactive shells programs.fish.enable = true; environment.pathsToLink = [ "/share/fish" ]; @@ -183,6 +190,9 @@ gnome-tour ]; + services.accounts-daemon.enable = true; + services.gnome.gnome-online-accounts.enable = true; + services.kmonad = { enable = true; keyboards = { @@ -215,40 +225,15 @@ services.qemuGuest.enable = true; services.spice-vdagentd.enable = true; - programs.steam = { + programs.appimage = { enable = true; - extraCompatPackages = [ pkgs.proton-ge-bin ]; + binfmt = true; }; powerManagement.enable = true; - services.power-profiles-daemon.enable = false; - services.auto-cpufreq = { - enable = true; - settings = { - battery = { - governor = "powersave"; - turbo = "never"; - }; - charger = { - governor = "performance"; - turbo = "auto"; - }; - }; - }; - # powerManagement.powertop.enable = true; - # services.thermald.enable = true; # enable the OpenSSH daemon. services.openssh.enable = true; - #serivces.openssh.permitRootLogin = "no"; - #services.openssh.passwordAuthentication = true; - - # Open ports in the firewall. - # networking.firewall.allowedTCPPorts = [ ... ]; - # networking.firewall.allowedUDPPorts = [ ... ]; - # Or disable the firewall altogether. - # networking.firewall.enable = false; - #do not change system.stateVersion = "24.05";