trying hyperland

This commit is contained in:
Matt Nish-Lapidus 2024-10-04 10:35:41 -04:00
parent 512e2113f9
commit becb262e17
3 changed files with 135 additions and 69 deletions

12
flake.lock generated
View file

@ -235,11 +235,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1727634051, "lastModified": 1727802920,
"narHash": "sha256-S5kVU7U82LfpEukbn/ihcyNt2+EvG7Z5unsKW9H/yFA=", "narHash": "sha256-HP89HZOT0ReIbI7IJZJQoJgxvB2Tn28V6XS3MNKnfLs=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "06cf0e1da4208d3766d898b7fdab6513366d45b9", "rev": "27e30d177e57d912d614c88c622dcfdb2e6e6515",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -266,11 +266,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1727672256, "lastModified": 1727907660,
"narHash": "sha256-9/79hjQc9+xyH+QxeMcRsA6hDyw6Z9Eo1/oxjvwirLk=", "narHash": "sha256-QftbyPoieM5M50WKUMzQmWtBWib/ZJbHo7mhj5riQec=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1719f27dd95fd4206afb9cec9f415b539978827e", "rev": "5966581aa04be7eff830b9e1457d56dc70a0b798",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -6,7 +6,6 @@
home = { home = {
packages = with pkgs; [ packages = with pkgs; [
just just
jq
yt-dlp yt-dlp
erdtree erdtree
age age
@ -32,7 +31,11 @@
flex flex
bison bison
mesa mesa
neofetch
nitch
ripgrep-all
silver-searcher
xclip
maestral maestral
maestral-gui maestral-gui
sane-airscan sane-airscan
@ -46,10 +49,19 @@
pciutils pciutils
util-linux util-linux
coreutils coreutils
binutils
libgcc libgcc
raylib raylib
SDL2.dev SDL2.dev
protonplus protonplus
ispell
aspell
aspellDicts.en
aspellDicts.en-computers
texlive.combined.scheme-full
appimage-run
#transmission_4
#transmission_4-gtk
ruby ruby
janet janet
@ -60,12 +72,22 @@
nodejs_18 nodejs_18
platformio-core platformio-core
kanata-with-cmd kanata-with-cmd
lazygit
icloudpd icloudpd
jetbrains-mono
libheif libheif
libheif.out 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 nixd
fishPlugins.foreign-env fishPlugins.foreign-env
@ -80,7 +102,7 @@
rbw rbw
tailscale tailscale
protonplus protonplus
font-manager
gnomeExtensions.just-perfection gnomeExtensions.just-perfection
gnomeExtensions.dash-to-dock gnomeExtensions.dash-to-dock
gnomeExtensions.solaar-extension gnomeExtensions.solaar-extension
@ -107,10 +129,11 @@
spice-gtk spice-gtk
spice-protocol spice-protocol
virt-viewer virt-viewer
virt-manager
solaar solaar
logitech-udev-rules logitech-udev-rules
syncthingtray
impression impression
zoom-us zoom-us
nyxt nyxt
@ -144,11 +167,17 @@
kicad kicad
openscad-unstable openscad-unstable
openscad-lsp openscad-lsp
picard
evolutionWithPlugins
mpv
plugdata plugdata
pavucontrol pavucontrol
qpwgraph qpwgraph
alsa-utils alsa-utils
clapper
amberol
parinfer-rust-emacs
# Audio plugins (LV2, VST2, VST3, LADSPA) # Audio plugins (LV2, VST2, VST3, LADSPA)
distrho distrho
@ -160,12 +189,25 @@
FIL-plugins FIL-plugins
geonkick geonkick
bespokesynth bespokesynth
# Fonts
fira-code
fira
cooper-hewitt
ibm-plex
jetbrains-mono
iosevka
# bitmap
spleen
fira-code-symbols
powerline-fonts
nerdfonts
]; ];
username = "emenel"; username = "emenel";
homeDirectory = "/home/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 = { sessionVariables = {
EDITOR = "emacsclient -r"; EDITOR = "emacsclient -r";
@ -175,6 +217,8 @@
stateVersion = "24.05"; stateVersion = "24.05";
}; };
fonts.fontconfig.enable = true;
programs = { programs = {
home-manager.enable = true; home-manager.enable = true;
direnv = { direnv = {
@ -240,19 +284,37 @@
pandoc.enable = true; pandoc.enable = true;
password-store.enable = true; password-store.enable = true;
#waybar.enable = true; #waybar.enable = true;
lazygit.enable = true;
jq.enable = true;
}; };
wayland.windowManager.sway = { wayland.windowManager.hyprland = {
enable = true; enable = true; # enable Hyprland
systemd = { xwayland.enable = true;
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)
# );
}; };
wrapperFeatures = {
gtk = true;
};
# config = rec {
# };
}; };
home.sessionVariables.NIXOS_OZONE_WL = "1";
dconf.settings = { dconf.settings = {
"org/gnome/desktop/background" = { "org/gnome/desktop/background" = {
@ -284,6 +346,10 @@
services = { services = {
flatpak.enable = true; flatpak.enable = true;
syncthing = {
enable = true;
tray.enable = true;
};
}; };
xdg.systemDirs.data = [ xdg.systemDirs.data = [
@ -324,19 +390,34 @@
############ ACCOUNTS ############ ACCOUNTS
accounts.calendar = { # accounts.calendar = {
basePath = ".calendar"; # basePath = ".calendars";
accounts = { # accounts = {
"emenel" = { # emenel = {
name = "matt@emenel.ca"; # primaryCollection = "Primary";
primary = true; # name = "matt@emenel.ca";
remote = { # primary = true;
passwordCommand = [ "rbw get nixos-fastmail" ]; # remote = {
type = "caldav"; # passwordCommand = [ "rbw" "get" "nixos-fastmail" ];
url = "caldav.fastmail.com"; # type = "caldav";
userName = "matt@emenel.ca"; # 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" ];
# };
# };
# };
} }

View file

@ -36,7 +36,7 @@
boot = { boot = {
# TODO: confirm this works # 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 # 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 ]; # extraModulePackages = [ config.boot.kernelPackages.nvidia_x11 ];
kernelParams = [ "nvidia-drm.fbdev=1" "nvidia_drm.modeset=1" ]; kernelParams = [ "nvidia-drm.fbdev=1" "nvidia_drm.modeset=1" ];
}; };
@ -114,7 +114,9 @@
# Enable the GNOME Desktop Environment. # Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true; 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. services.xserver.deviceSection = ''Option "TearFree" "true"''; # For amdgpu.
programs.dconf.enable = true; 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 # enable fish and launch it from bash for interactive shells
programs.fish.enable = true; programs.fish.enable = true;
environment.pathsToLink = [ "/share/fish" ]; environment.pathsToLink = [ "/share/fish" ];
@ -183,6 +190,9 @@
gnome-tour gnome-tour
]; ];
services.accounts-daemon.enable = true;
services.gnome.gnome-online-accounts.enable = true;
services.kmonad = { services.kmonad = {
enable = true; enable = true;
keyboards = { keyboards = {
@ -215,40 +225,15 @@
services.qemuGuest.enable = true; services.qemuGuest.enable = true;
services.spice-vdagentd.enable = true; services.spice-vdagentd.enable = true;
programs.steam = { programs.appimage = {
enable = true; enable = true;
extraCompatPackages = [ pkgs.proton-ge-bin ]; binfmt = true;
}; };
powerManagement.enable = 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. # enable the OpenSSH daemon.
services.openssh.enable = true; 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 #do not change
system.stateVersion = "24.05"; system.stateVersion = "24.05";