diff --git a/flake.lock b/flake.lock index 87dbefb..86d640a 100644 --- a/flake.lock +++ b/flake.lock @@ -30,11 +30,11 @@ ] }, "locked": { - "lastModified": 1705371143, - "narHash": "sha256-AYtYccMuUSXLYuasl5jIut5CIlMQR8jtqEnXeTKcROQ=", + "lastModified": 1707333512, + "narHash": "sha256-Y6u9vz5dXTZ8IErO9n2NRpEGaUrfBgysOOa52smqtpI=", "owner": "caarlos0", "repo": "nur", - "rev": "c2cb844944e47644062463ea38f014df6b400bc0", + "rev": "3b0e759446f567d243d5a62320af50cc7c7754e0", "type": "github" }, "original": { @@ -50,11 +50,11 @@ ] }, "locked": { - "lastModified": 1707059042, - "narHash": "sha256-6tomg1cTo7cwd7U3hIyDMA5iBuHg82cTr9TrUGnfxMw=", + "lastModified": 1707530346, + "narHash": "sha256-LGvGeDwQtVQ4Pfa7JJKESAUg3n7Dy9d4kVCZf69kDRY=", "owner": "catppuccin", "repo": "vscode", - "rev": "50aa91ba31192bef8563a96e246d469091502d10", + "rev": "a5c28e9319556c696e184a2f2f49813288063ed6", "type": "github" }, "original": { @@ -208,11 +208,11 @@ ] }, "locked": { - "lastModified": 1707175763, - "narHash": "sha256-0MKHC6tQ4KEuM5rui6DjKZ/VNiSANB4E+DJ/+wPS1PU=", + "lastModified": 1707607386, + "narHash": "sha256-hj/RgQMTvCWQVInkZwiMMieumkfOjHXhtWhfuXHop/8=", "owner": "nix-community", "repo": "home-manager", - "rev": "f99eace7c167b8a6a0871849493b1c613d0f1b80", + "rev": "bfd0ae29a86eff4603098683b516c67e22184511", "type": "github" }, "original": { @@ -228,11 +228,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1707116620, - "narHash": "sha256-IrhkuWV2T55RGHNTzKfwWDwvRFpmGfS/LLnx1rX3o3U=", + "lastModified": 1707635259, + "narHash": "sha256-wuH3gg0BiZ9KZYckzaQLzticDK6gYK8jD377HYfuz6c=", "owner": "nekowinston", "repo": "nur", - "rev": "f3c3caffa9ec730a97cdb3834399b08b1895fb84", + "rev": "1966ad5b29b74b3a1c6761b31b83ffdc272cfd51", "type": "github" }, "original": { @@ -248,11 +248,11 @@ ] }, "locked": { - "lastModified": 1707016097, - "narHash": "sha256-V4lHr6hFQ3rK650dh64Xffxsf4kse9vUYWsM+ldjkco=", + "lastModified": 1707620986, + "narHash": "sha256-XE0tCSkSVBeJDWhjFwusNInwAhrnp+TloUNUpvnTiLw=", "owner": "nix-community", "repo": "nix-index-database", - "rev": "3e3dad2808379c522138e2e8b0eb73500721a237", + "rev": "0cb4345704123492e6d1f1068629069413c80de0", "type": "github" }, "original": { @@ -272,11 +272,11 @@ ] }, "locked": { - "lastModified": 1707182119, - "narHash": "sha256-Egt1PmjNAbx2nS0h/iWpaTCcOzLPHpRXzTJBt3waEAs=", + "lastModified": 1707614384, + "narHash": "sha256-qa/Hu7ZV1MTFV70k714t5l3cCZh1X7lvzaO7cuEVw0c=", "owner": "nix-community", "repo": "nix-vscode-extensions", - "rev": "4e7767c214364217e0a7611dca3f3420555ceb20", + "rev": "b17d5d4f4cda5231ea5ffb12c61c3468c3e6d095", "type": "github" }, "original": { @@ -287,11 +287,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1706732774, - "narHash": "sha256-hqJlyJk4MRpcItGYMF+3uHe8HvxNETWvlGtLuVpqLU0=", + "lastModified": 1707268954, + "narHash": "sha256-2en1kvde3cJVc3ZnTy8QeD2oKcseLFjYPLKhIGDanQ0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b8b232ae7b8b144397fdb12d20f592e5e7c1a64d", + "rev": "f8e2ebd66d097614d51a56a755450d4ae1632df1", "type": "github" }, "original": { @@ -321,11 +321,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1706913249, - "narHash": "sha256-x3M7iV++CsvRXI1fpyFPduGELUckZEhSv0XWnUopAG8=", + "lastModified": 1707546158, + "narHash": "sha256-nYYJTpzfPMDxI8mzhQsYjIUX+grorqjKEU9Np6Xwy/0=", "owner": "nixos", "repo": "nixpkgs", - "rev": "e92b6015881907e698782c77641aa49298330223", + "rev": "d934204a0f8d9198e1e4515dd6fec76a139c87f0", "type": "github" }, "original": { @@ -337,11 +337,11 @@ }, "nur": { "locked": { - "lastModified": 1707181497, - "narHash": "sha256-Bd+bqHnlxgsk67/jNN1mVldL8jT2p0OK5G4DhMGdOp4=", + "lastModified": 1707659083, + "narHash": "sha256-AACVGpkK3iPTKu2cPGD7Vdyx7UxwDZM+Ik//czpOuPk=", "owner": "nix-community", "repo": "nur", - "rev": "ff750f0d827f95ab132046d0d01e82c37b7a1c5c", + "rev": "5ec9be8abec9ab008486961c1c49f05774b8458c", "type": "github" }, "original": { @@ -365,11 +365,11 @@ ] }, "locked": { - "lastModified": 1706424699, - "narHash": "sha256-Q3RBuOpZNH2eFA1e+IHgZLAOqDD9SKhJ/sszrL8bQD4=", + "lastModified": 1707297608, + "narHash": "sha256-ADjo/5VySGlvtCW3qR+vdFF4xM9kJFlRDqcC9ZGI8EA=", "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "7c54e08a689b53c8a1e5d70169f2ec9e2a68ffaf", + "rev": "0db2e67ee49910adfa13010e7f012149660af7f0", "type": "github" }, "original": { @@ -408,11 +408,11 @@ ] }, "locked": { - "lastModified": 1707012820, - "narHash": "sha256-4cxIaHUx6/DSEVHJfK0gx4DZkJ5xHugan27KfuVPnj0=", + "lastModified": 1707617562, + "narHash": "sha256-Kk2vv5e4MqKPjelKoYsa6YaUyv3pvjWY9nJSnP2QU9w=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "b83b8c3ef16d15a4ae3843d74f32dfc86caed60f", + "rev": "a22bbbee9b479c6d95b4819135e856a6d447b3ba", "type": "github" }, "original": { diff --git a/home/apps/browsers.nix b/home/apps/browsers.nix index 9c75485..6ceae9d 100644 --- a/home/apps/browsers.nix +++ b/home/apps/browsers.nix @@ -157,6 +157,7 @@ in { home.packages = lib.mkIf isLinux [ pkgs.nur.repos.nekowinston.sizzy + pkgs.mullvad-browser ]; xdg.mimeApps.defaultApplications = { diff --git a/home/apps/git.nix b/home/apps/git.nix index 730df4f..80262dc 100644 --- a/home/apps/git.nix +++ b/home/apps/git.nix @@ -13,7 +13,6 @@ # use fsmonitor home.packages = [pkgs.rs-git-fsmonitor pkgs.watchman]; - programs.git.extraConfig.core.fsmonitor = "rs-git-fsmonitor"; programs.git = { enable = true; diff --git a/home/apps/gtk.nix b/home/apps/gtk.nix index 8549cf0..9730e57 100644 --- a/home/apps/gtk.nix +++ b/home/apps/gtk.nix @@ -18,13 +18,17 @@ in { iconTheme = { name = "Papirus-Dark"; package = pkgs.catppuccin-papirus-folders.override { - flavor = "mocha"; accent = "pink"; + flavor = "frappe"; }; }; theme = { - name = "Catppuccin-Compact-Pink"; - package = pkgs.callPackage ../../pkgs/catppuccin-gtk.nix {}; + name = "Catppuccin-Frappe-Compact-Pink-Dark"; + package = pkgs.catppuccin-gtk.override { + accents = ["pink"]; + variant = "frappe"; + size = "compact"; + }; }; gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc"; gtk2.extraConfig = '' diff --git a/home/apps/media.nix b/home/apps/media.nix index 434b05f..58efaff 100644 --- a/home/apps/media.nix +++ b/home/apps/media.nix @@ -14,6 +14,16 @@ in { home.packages = lib.mkIf isLinux [(pkgs.callPackage ../../pkgs/apple-music.nix {})]; services.discord-applemusic-rich-presence.enable = isDarwin; + services.mopidy = lib.mkIf isLinux { + enable = true; + extensionPackages = with pkgs; [ + mopidy-bandcamp + mopidy-iris + mopidy-mpd + mopidy-podcast + ]; + }; + services.mpd-discord-rpc.enable = isLinux; xdg.mimeApps.defaultApplications = { "application/pdf" = "zathura.desktop"; diff --git a/home/apps/sway.nix b/home/apps/sway.nix index b274534..76e8914 100644 --- a/home/apps/sway.nix +++ b/home/apps/sway.nix @@ -32,6 +32,7 @@ in { pavucontrol sway-contrib.grimshot swaynotificationcenter + swayosd wl-clipboard ]; }; @@ -77,6 +78,10 @@ in { ''; always = true; } + { + command = "${pkgs.swayosd}/bin/swayosd-server"; + always = true; + } { command = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; } @@ -99,7 +104,7 @@ in { filebrowser = "${pkgs.gnome.nautilus}/bin/nautilus"; screenshot = "${pkgs.sway-contrib.grimshot}/bin/grimshot copy area"; playerctl = "${pkgs.playerctl}/bin/playerctl"; - wpctl = pkgs.wireplumber + "/bin/wpctl"; + swayosd = pkgs.swayosd + "/bin/swayosd-client"; in { "${mod}+Shift+b" = "border none"; "${mod}+b" = "border pixel 2"; @@ -191,9 +196,9 @@ in { "${mod}+Shift+space" = "exec ${pkgs._1password-gui}/bin/1password --quick-access"; # audio - "XF86AudioRaiseVolume" = "exec --no-startup-id ${wpctl} set-volume @DEFAULT_AUDIO_SINK@ 5%+ -l 1.0"; - "XF86AudioLowerVolume" = "exec --no-startup-id ${wpctl} set-volume @DEFAULT_AUDIO_SINK@ 5%- -l 1.0"; - "XF86AudioMute" = "exec --no-startup-id ${wpctl} set-mute @DEFAULT_AUDIO_SINK@ toggle"; + "XF86AudioRaiseVolume" = "exec ${swayosd} --output-volume 5"; + "XF86AudioLowerVolume" = "exec ${swayosd} --output-volume -5"; + "XF86AudioMute" = "exec ${swayosd} --output-volume mute-toggle"; "XF86AudioNext" = "exec --no-startup-id ${playerctl} next"; "XF86AudioPrev" = "exec --no-startup-id ${playerctl} previous"; "XF86AudioPlay" = "exec --no-startup-id ${playerctl} play-pause"; diff --git a/home/apps/wezterm.nix b/home/apps/wezterm.nix index fd3c61f..71f6645 100644 --- a/home/apps/wezterm.nix +++ b/home/apps/wezterm.nix @@ -6,6 +6,7 @@ ... }: let mkSymlink = path: config.lib.file.mkOutOfStoreSymlink "${flakePath}/home/apps/wezterm/${path}"; + inherit (pkgs.stdenv) isDarwin; in { # use the GUI version & config when we have a gui, else just get terminfo config = lib.mkMerge [ @@ -16,7 +17,7 @@ in { (lib.mkIf config.isGraphical { programs.wezterm = { enable = true; - package = pkgs.nur.repos.nekowinston.wezterm-nightly; + package = lib.mkIf isDarwin pkgs.nur.repos.nekowinston.wezterm-nightly; }; xdg.configFile = { diff --git a/home/apps/wezterm/wezterm.lua b/home/apps/wezterm/wezterm.lua index aeaf8c8..e41cec3 100644 --- a/home/apps/wezterm/wezterm.lua +++ b/home/apps/wezterm/wezterm.lua @@ -1,5 +1,7 @@ local wezterm = require("wezterm") local c = wezterm.config_builder() +local utils = require("config.utils") + require("config.keys").apply(c) c.font = wezterm.font_with_fallback({ @@ -22,10 +24,14 @@ c.audible_bell = "Disabled" c.default_cursor_style = "BlinkingBar" c.inactive_pane_hsb = { brightness = 0.90 } -require("bar.plugin").apply_to_config(c) +-- some annoying bug is causing crashes on sway +if utils.is_darwin() then + require("bar.plugin").apply_to_config(c) +end + require("catppuccin.plugin").apply_to_config(c, { - sync = true, - sync_flavors = { dark = "frappe" }, + sync = false, + flavor = "frappe", }) return c diff --git a/home/default.nix b/home/default.nix index e77d178..615f4ee 100644 --- a/home/default.nix +++ b/home/default.nix @@ -35,6 +35,7 @@ in { ++ lib.optionals (config.isGraphical && isLinux) [ _1password-gui nur.repos.nekowinston.uhk-agent + neovide ]); sessionVariables = lib.mkIf isDarwin { SSH_AUTH_SOCK = "${config.programs.gpg.homedir}/S.gpg-agent.ssh"; diff --git a/home/secrets/aerc-personal.conf.age b/home/secrets/aerc-personal.conf.age index 5972e1b..c298dee 100644 Binary files a/home/secrets/aerc-personal.conf.age and b/home/secrets/aerc-personal.conf.age differ diff --git a/home/secrets/default.nix b/home/secrets/default.nix index a18984b..52d4b78 100644 --- a/home/secrets/default.nix +++ b/home/secrets/default.nix @@ -1,8 +1,11 @@ { config, lib, + pkgs, ... -}: { +}: let + inherit (pkgs.stdenv) isDarwin; +in { age = { identityPaths = ["${config.home.homeDirectory}/.ssh/id_ed25519"]; @@ -12,7 +15,7 @@ value = {file = ./../.. + "/${k}";}; }) (attrNames (import ./secrets.nix))); - secretsDir = "/private/tmp/agenix"; - secretsMountPoint = "/private/tmp/agenix.d"; + secretsDir = lib.mkIf isDarwin "/private/tmp/agenix"; + secretsMountPoint = lib.mkIf isDarwin "/private/tmp/agenix.d"; }; } diff --git a/home/secrets/gitconfig-work.age b/home/secrets/gitconfig-work.age index 3ea3641..10b3797 100644 --- a/home/secrets/gitconfig-work.age +++ b/home/secrets/gitconfig-work.age @@ -1,7 +1,9 @@ age-encryption.org/v1 --> piv-p256 ML6NcA AqBNytZUiPR/Qtdhdm6/TDEzFKzEPaNrDm3Yp1t4eRCC -6gLCrwBAMefJkncql1W+WFxSo7gmOoIjxPfS1F8d/60 --> ssh-ed25519 77w9rQ r5VNI11Va7crZlfRImwJuIFNNrtmtBB7eSxO2rAWhwI -objRSVUnqq5JU66cJMyguFZx6/xH5p0VEb61S3VfSg4 ---- GvRjramTigwFWBbx7b9jWk0V7Nf11M7wSTCxpYZwiM0 -l]sٝsCm@\oŪ4LZ  "@l(dlɾ"r'& P̃p+;$,՟ +"W'nB E*>$"zv~E~(̯UũC-?ANٸⴕBa?鱫żյ \ No newline at end of file +-> piv-p256 ML6NcA A3cIwzNWQsWgsrP1rf36rjGLEXiPj9A5gg43ULL49Idj +v0ElKUAabqgu8uhwtuJwYOzr3dPs5/d1aAgA+g/zR6Y +-> ssh-ed25519 RWtqzw XjpCyPRuM+BbYJMCzt5V+S2amHOU3qjvdCryy7erJWI +tFvxzI4wBXxSF+ltQne9e4zBc4OVNreutuQrLj1CDU4 +-> ssh-ed25519 77w9rQ IuVvp85EtzEZSuyFMLvI31VFeKhnUPk9KBJzEszkJk4 +3AnFn2NjmG0srmmuIvqkutavxTPBo3nliAL81dy0kSY +--- eZLiKPtAuBANj03fXRwdibPwyi/9h84u0x1e/9a51b4 +-|9F'V/'dq!wDtZE«Cх' 9`az!T!0acE{mK!,< Vw(d%Ckx3xAGKF^)&|P֩?|":pʀxA \ No newline at end of file diff --git a/home/secrets/secrets.nix b/home/secrets/secrets.nix index 5a972e2..4c28061 100644 --- a/home/secrets/secrets.nix +++ b/home/secrets/secrets.nix @@ -1,7 +1,11 @@ let - users.winston = "age1yubikey1qfkn095xth4ukxjye98ew4ul6xdkyz7sek0hd67yfjs5z6tv7q9jgnfchls"; - systems.sashimi = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIINxJEAR1Ql8bZqKgGmrnxvu5zwz+znis+RZo8jx0o0f"; - default = [users.winston systems.sashimi]; + homes = { + futomaki = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAFFAuJa9TYB3IsHly1Z4WjQrr4cEkubNWQyhIClh6bH"; + sashimi = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIINxJEAR1Ql8bZqKgGmrnxvu5zwz+znis+RZo8jx0o0f"; + }; + yubikeys._5ci = "age1yubikey1qfkn095xth4ukxjye98ew4ul6xdkyz7sek0hd67yfjs5z6tv7q9jgnfchls"; + + default = [yubikeys._5ci homes.futomaki homes.sashimi]; in { "home/secrets/aerc-personal.conf.age".publicKeys = default; "home/secrets/gitconfig-work.age".publicKeys = default; diff --git a/home/secrets/wakatime.cfg.age b/home/secrets/wakatime.cfg.age index 6b80615..06ae380 100644 Binary files a/home/secrets/wakatime.cfg.age and b/home/secrets/wakatime.cfg.age differ diff --git a/home/xdg.nix b/home/xdg.nix index 436ff22..63f4e87 100644 --- a/home/xdg.nix +++ b/home/xdg.nix @@ -48,7 +48,17 @@ in { dataHome = "${homeDirectory}/.local/share"; mimeApps = { enable = isLinux; - defaultApplications."inode/directory" = "nautilus.desktop"; + defaultApplications = { + "application/gzip" = "nautilus.desktop"; + "application/vnd.rar" = "nautilus.desktop"; + "application/x-7z-compressed" = "nautilus.desktop"; + "application/x-bzip" = "nautilus.desktop"; + "application/x-bzip2" = "nautilus.desktop"; + "application/x-compressed-tar" = "nautilus.desktop"; + "application/x-tar" = "nautilus.desktop"; + "application/zip" = "nautilus.desktop"; + "inode/directory" = "nautilus.desktop"; + }; }; }; } diff --git a/machines/common/linux/sway.nix b/machines/common/linux/sway.nix index 8c71207..a640aae 100644 --- a/machines/common/linux/sway.nix +++ b/machines/common/linux/sway.nix @@ -68,6 +68,8 @@ gvfs.enable = true; udisks2.enable = true; devmon.enable = true; + gnome.sushi.enable = true; + gnome.tracker-miners.enable = true; # thumbnails tumbler.enable = true; diff --git a/machines/common/shared/nix.nix b/machines/common/shared/nix.nix index f62e0b0..bea18ee 100644 --- a/machines/common/shared/nix.nix +++ b/machines/common/shared/nix.nix @@ -12,7 +12,7 @@ in { nixpkgs.config.allowUnfree = true; nix = { gc.automatic = true; - package = pkgs.nixVersions.nix_2_19; + package = pkgs.nixVersions.nix_2_17; settings = { auto-optimise-store = true; diff --git a/machines/futomaki/default.nix b/machines/futomaki/default.nix index f8ef49b..db5b555 100644 --- a/machines/futomaki/default.nix +++ b/machines/futomaki/default.nix @@ -51,7 +51,12 @@ enable = true; package = pkgs.steam.override { extraEnv.MANGOHUD = 1; - extraPkgs = p: with p; [corefonts protontricks]; + extraPkgs = p: + with p; [ + corefonts + protontricks + gamescope + ]; }; }; }; diff --git a/machines/futomaki/hardware.nix b/machines/futomaki/hardware.nix index d610b4a..13148f8 100644 --- a/machines/futomaki/hardware.nix +++ b/machines/futomaki/hardware.nix @@ -34,41 +34,18 @@ hardware.bluetooth.enable = true; - boot.initrd.luks.devices = { - luksroot = { - device = "/dev/disk/by-uuid/170cdc3f-2b04-4123-93ea-5e03136f6548"; - preLVM = true; - allowDiscards = true; - }; - }; - fileSystems."/" = { - device = "/dev/disk/by-uuid/894ceea3-0596-4652-89fd-772fbb82474c"; - fsType = "btrfs"; - options = ["subvol=root" "compress=zstd"]; + device = "/dev/disk/by-uuid/018963d2-463f-451d-a54c-dc6f29f24daa"; + fsType = "ext4"; }; - fileSystems."/home" = { - device = "/dev/disk/by-uuid/894ceea3-0596-4652-89fd-772fbb82474c"; - fsType = "btrfs"; - options = ["subvol=home" "compress=zstd"]; - }; - - fileSystems."/nix" = { - device = "/dev/disk/by-uuid/894ceea3-0596-4652-89fd-772fbb82474c"; - fsType = "btrfs"; - options = ["subvol=nix" "compress=zstd" "noatime"]; - }; + boot.initrd.luks.devices."luks-b8839f86-af3a-4cb7-a906-108ece087aa0".device = "/dev/disk/by-uuid/b8839f86-af3a-4cb7-a906-108ece087aa0"; fileSystems."/boot" = { - device = "/dev/disk/by-uuid/D3BE-5F94"; + device = "/dev/disk/by-uuid/1D0D-B170"; fsType = "vfat"; }; - swapDevices = [ - {device = "/dev/disk/by-uuid/72a4ce61-6cb8-4996-9966-83de91a49b6c";} - ]; - # 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 diff --git a/pkgs/overlays.nix b/pkgs/overlays.nix index ece2baa..5ab45cf 100644 --- a/pkgs/overlays.nix +++ b/pkgs/overlays.nix @@ -1,8 +1,8 @@ {inputs}: [ - inputs.swayfx.overlays.default inputs.nix-vscode-extensions.overlays.default inputs.catppuccin-vsc.overlays.default (final: prev: { + sway-unwrapped = inputs.swayfx.packages.${prev.system}.default; yabai = prev.yabai.overrideAttrs (old: rec { version = "6.0.6"; src = prev.fetchzip {