From 6d71d5ff088dcff508546fbf74fbaa738dc21fe3 Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Sat, 12 Oct 2024 17:27:41 -0400 Subject: [PATCH] hosts/pacifidlog: add initial output and config --- flake.lock | 44 ++++++++ flake.nix | 1 + hosts/pacifidlog/README.md | 29 +++++ hosts/pacifidlog/default.nix | 126 ++++++++++++++++++++++ hosts/pacifidlog/home.nix | 27 +++++ hosts/pacifidlog/secrets.nix | 6 ++ hosts/pacifidlog/stylix.nix | 50 +++++++++ nixosModules/apps/steam/default.nix | 1 + secrets/aly/syncthing/pacifidlog/cert.age | Bin 0 -> 2217 bytes secrets/aly/syncthing/pacifidlog/key.age | Bin 0 -> 1711 bytes secrets/secrets.nix | 2 + userModules/aly/syncthing.nix | 6 +- 12 files changed, 289 insertions(+), 3 deletions(-) create mode 100644 hosts/pacifidlog/README.md create mode 100644 hosts/pacifidlog/default.nix create mode 100644 hosts/pacifidlog/home.nix create mode 100644 hosts/pacifidlog/secrets.nix create mode 100644 hosts/pacifidlog/stylix.nix create mode 100644 secrets/aly/syncthing/pacifidlog/cert.age create mode 100644 secrets/aly/syncthing/pacifidlog/key.age diff --git a/flake.lock b/flake.lock index 2b026da8..e4b43f70 100644 --- a/flake.lock +++ b/flake.lock @@ -383,6 +383,27 @@ "type": "github" } }, + "jovian": { + "inputs": { + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1728679815, + "narHash": "sha256-3IXvY30zzFq7lHFujMupPz3TiPXo8o8qiIjkXUvznCI=", + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "rev": "e4f4d7832cc559389b93798c1f0d615e3816f4ef", + "type": "github" + }, + "original": { + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "type": "github" + } + }, "lanzaboote": { "inputs": { "crane": "crane", @@ -410,6 +431,28 @@ "type": "github" } }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "jovian", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1690328911, + "narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=", + "owner": "zhaofengli", + "repo": "nix-github-actions", + "rev": "96df4a39c52f53cb7098b923224d8ce941b64747", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "ref": "matrix-name", + "repo": "nix-github-actions", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1728492678, @@ -506,6 +549,7 @@ "disko": "disko", "home-manager": "home-manager_2", "iio-hyprland": "iio-hyprland", + "jovian": "jovian", "lanzaboote": "lanzaboote", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", diff --git a/flake.nix b/flake.nix index 5f99e624..6f4cebff 100644 --- a/flake.nix +++ b/flake.nix @@ -91,6 +91,7 @@ "fallarbor" "lavaridge" "mauville" + "pacifidlog" "petalburg" "rustboro" "slateport" diff --git a/hosts/pacifidlog/README.md b/hosts/pacifidlog/README.md new file mode 100644 index 00000000..56a5542c --- /dev/null +++ b/hosts/pacifidlog/README.md @@ -0,0 +1,29 @@ +# lavaridge + +## Overview + +Framework Laptop 13 with AMD 7000 series mainboard. My primary machine used for work, productivity, development work, media, you name it. + +## Todo + +- \[x\] upgrade to [2.8k 120Hz Framework screen](https://frame.work/products/display-kit?v=FRANJF0001). + +## Specs + +| Model | Framework Laptop 13 | +|---------|---------------------------| +| Display | 13.5" 2880x1920 120Hz | +| CPU | AMD Ryzen 7640U | +| RAM | 32GB 16GBx2 DDR5-5600Mhz | +| GPU | AMD Radeon 760M | +| Disks | 1TB Sk hynix P41 | + +## Filesystems + +### / + +Encrypted LUKS btrfs volume. + +## Display + +First-gen glossy Framework Laptop 13 screen. Typically used at 1.566667 scaling with Hyprland (1.6 causes strange blurryness). diff --git a/hosts/pacifidlog/default.nix b/hosts/pacifidlog/default.nix new file mode 100644 index 00000000..7d76d24a --- /dev/null +++ b/hosts/pacifidlog/default.nix @@ -0,0 +1,126 @@ +# Lenovo Legion Go +{ + config, + lib, + self, + ... +}: { + imports = [ + ./home.nix + ./secrets.nix + ./stylix.nix + (import ./../../disko/luks-btrfs-subvolumes.nix {disks = ["/dev/nvme0n1"];}) + self.inputs.jovian.nixosModules.default + self.nixosModules.common-base + self.nixosModules.common-locale + self.nixosModules.common-nix + self.nixosModules.common-overlays + self.nixosModules.common-pkgs + self.nixosModules.common-tailscale + self.nixosModules.common-wifi-profiles + self.nixosModules.hw-common-amd-cpu + self.nixosModules.hw-common-amd-gpu + self.nixosModules.hw-common-bluetooth + self.nixosModules.hw-common-laptop-amd-gpu + self.nixosModules.hw-common-ssd + ]; + + boot = { + initrd.systemd.enable = true; + + # lanzaboote = { + # enable = true; + # pkiBundle = "/etc/secureboot"; + # }; + + loader = { + efi.canTouchEfiVariables = true; + systemd-boot.enable = lib.mkForce true; + }; + }; + + environment.variables = { + FLAKE = lib.mkForce "github:alyraffauf/nixcfg/add-pacifidlog"; + GDK_SCALE = "2"; + }; + + jovian.steam = { + enable = true; + autoStart = true; + user = "aly"; + }; + + jovian.decky-loader = { + enable = true; + user = "aly"; + }; + + networking.hostName = "pacifidlog"; + + nixpkgs.overlays = [ + (final: prev: { + brave = prev.brave.override {commandLineArgs = "--gtk-version=4 --enable-wayland-ime";}; + + obsidian = prev.obsidian.overrideAttrs (old: { + installPhase = + builtins.replaceStrings ["--ozone-platform=wayland"] + ["--ozone-platform=wayland --enable-wayland-ime"] + old.installPhase; + }); + + vscodium = prev.vscodium.override {commandLineArgs = "--enable-wayland-ime";}; + + webcord = prev.webcord.overrideAttrs (old: { + installPhase = + builtins.replaceStrings ["--ozone-platform-hint=auto"] + ["--ozone-platform-hint=auto --enable-wayland-ime"] + old.installPhase; + }); + }) + ]; + + services = { + handheld-daemon = { + enable = true; + user = "aly"; + }; + + power-profiles-daemon.enable = true; + upower.enable = true; + }; + + swapDevices = [ + { + device = "/swap/swapfile"; + size = 18 * 1024; + } + ]; + + system.stateVersion = "24.11"; + + ar = { + apps = { + firefox.enable = true; + steam.enable = true; + }; + + desktop = { + hyprland.enable = true; + steam.enable = true; + }; + + laptopMode = true; + + users.aly = { + enable = true; + password = "$y$j9T$CXjk5Z9e2PXbSsWh5CK.81$I9Hm/Oa4KcYMqPi8KMBfsEv5NzoXCgaCK5xhyGeikH7"; + + syncthing = { + enable = true; + certFile = config.age.secrets.syncthingCert.path; + keyFile = config.age.secrets.syncthingKey.path; + syncMusic = false; + }; + }; + }; +} diff --git a/hosts/pacifidlog/home.nix b/hosts/pacifidlog/home.nix new file mode 100644 index 00000000..519fcc8e --- /dev/null +++ b/hosts/pacifidlog/home.nix @@ -0,0 +1,27 @@ +{self, ...}: { + home-manager = { + sharedModules = [ + { + wayland.windowManager.sway.config.output = { + "eDP-1" = { + adaptive_sync = "on"; + scale = "2.0"; + }; + }; + + ar.home = { + desktop.hyprland.laptopMonitors = ["eDP-1,2560x1600@144, preferred,auto, 2, transform, 0"]; + + # services = { + # easyeffects = { + # enable = true; + # preset = "fw13-easy-effects"; + # }; + # }; + }; + } + ]; + + users.aly = self.homeManagerModules.aly; + }; +} diff --git a/hosts/pacifidlog/secrets.nix b/hosts/pacifidlog/secrets.nix new file mode 100644 index 00000000..cb448683 --- /dev/null +++ b/hosts/pacifidlog/secrets.nix @@ -0,0 +1,6 @@ +{ + age.secrets = { + syncthingCert.file = ../../secrets/aly/syncthing/pacifidlog/cert.age; + syncthingKey.file = ../../secrets/aly/syncthing/pacifidlog/key.age; + }; +} diff --git a/hosts/pacifidlog/stylix.nix b/hosts/pacifidlog/stylix.nix new file mode 100644 index 00000000..194f2331 --- /dev/null +++ b/hosts/pacifidlog/stylix.nix @@ -0,0 +1,50 @@ +{ + pkgs, + self, + ... +}: { + stylix = { + enable = true; + base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml"; + image = "${self.inputs.wallpapers}/wallhaven-3lyrvy.png"; + imageScalingMode = "fill"; + polarity = "dark"; + + cursor = { + name = "Bibata-Modern-Classic"; + package = pkgs.bibata-cursors; + size = 24; + }; + + fonts = { + monospace = { + name = "CaskaydiaCove Nerd Font"; + package = pkgs.nerdfonts.override {fonts = ["CascadiaCode"];}; + }; + + sansSerif = { + name = "UbuntuSans Nerd Font"; + package = pkgs.nerdfonts.override {fonts = ["UbuntuSans"];}; + }; + + serif = { + name = "Source Serif Pro"; + package = pkgs.source-serif-pro; + }; + + sizes = { + applications = 12; + desktop = 11; + popups = 12; + terminal = 13; + }; + }; + + opacity = { + applications = 1.0; + desktop = 0.8; + terminal = 0.8; + popups = 0.8; + }; + }; +} diff --git a/nixosModules/apps/steam/default.nix b/nixosModules/apps/steam/default.nix index 32ddd189..c83d19b5 100644 --- a/nixosModules/apps/steam/default.nix +++ b/nixosModules/apps/steam/default.nix @@ -17,6 +17,7 @@ steam = { enable = true; dedicatedServer.openFirewall = true; + extest.enable = true; extraCompatPackages = with pkgs; [proton-ge-bin]; gamescopeSession.enable = config.ar.desktop.steam.enable; localNetworkGameTransfers.openFirewall = true; diff --git a/secrets/aly/syncthing/pacifidlog/cert.age b/secrets/aly/syncthing/pacifidlog/cert.age new file mode 100644 index 0000000000000000000000000000000000000000..fde001da5295e0c5bd572a9a60f16682dfddef28 GIT binary patch literal 2217 zcmZYA`Fj+F83*u0Q<`oKDq0R>aY61S&aubrD#6a|F}su9*`3|&2^eQ*XJ_`B+033Z zg>Y0XNac!<5=BtjN=+&e60k=ETd5p*d_qetgoZmjisbR(N}fif<>&Ype4h9De&6?{ zIkt`!7)j3N6Qb~(C~-g$Qq?V1=W=`<8-w+F$fPbi*f2?{BOxQ`vxbxs2xW{M zt;iWsVWA@E$61n*Fuvpyqy(pmxg^F7JBu)5WW{)_Xr^dyGNt51JEnD~yaSe zw)knAJzvLJ|bC35dwM zBtmC~?Gy_IOXIbeo^pCowE?gIG{7;C5Ru(D5{B|VU!3;gf>p7363&t{X7^i6xGN5d zDkMppZB{Es*o=5s%g6OP-W?!t#S%olR3sg9xiWzqsgZg8_i_^?K{l4uEQDo>x}uCn zG#=QCHI(@{;AwPFHb)#Z70WOzDzZ*rVim}*iU=@S_7~V7m=&>Hg2fxdP9oSCO~VqI zjJdrULmoiQd2?fu8b2F@SOJbwd%T4loQ?%S*r6kfX`^CK@d*w#`2r!Y#FWHnQAo19 zh0;Qts*tp1bASPDcJW0QZo+X|N*QgejQK>y!Z{=lFbZ%9*WEl@Ip zf=&uOShjKkK%6XSHhH6h$-qm1*6yQgY|? z%`$;la8eVFmUzOGi`uLNGhTx-A)T(I*5R%q(crUalbV9Xnr90QQNb2-HRrQNcgC!9 zPyyUt3>Hwn)^! zmDE^(B*Y-2ceqU?W4D&=NZP0~0CGVBNX}+0gvBsnh=mkil2e(vtO$?{6mmrrms<{L z>`EA-*-TDG60ir;F<3Tkwt%FT{N630gRu~WszVfOXi#ik8{FtH#gJ^GBol>jDH<{$ zCPdZ=8Yd%wu`H3LD3!)xhctSV4M);i1k;O9Bre-*28y9=Sre^TO+lLGWhF>FXjENY zof>B&P(TZN4eW!ULYU5qzyRPjxqLhq$w^qs>`qw?5i2Y5=N4wYe-hX7le}_jWebXYHzp?-1 z&?~y9m6PZ1HESz>IW1C)teOzGwqVInsCV6q14r9xTz#Rc^ulw^ZM(yR*E{~njGWks znO`*)E@isgzV5Ss^3Jp;S3AG$or3-Nj|;CnGpqeLdgx8-=#+U~FI2eJoZPx?-VwKV z7gSfc)?JGaZAbH4d`-u!HLWL)ndAR%d2-VI(F^2+DHT<#ZYMrowE5W0iC-?hw-2n{ zIGOs-2bleheG#&C$xAmc6t`FUu8pobgYT_-b;jwYE$G4@e)@jTaaBEE z-2J=cp>=2rI`0Miq3BxO{NL}qedG%uP&MEr>_0j>%`kHO`i64gO`-nC%^7>ThRD}D z-a5yQ&HtO`!4F&2KD?y+;QX7NJ-2`MhwtVs7;HSS?emMe;Xi%)A;2Dd%y*!7&X>(7 z4lg7Aa$wS~fBp4VUwZQ5)uqnaOKInF!@<2j@ht*sW@@+YwMJUN`+bFhk2=7;Yd8I1 z0@&g`d(pb$TS@iQPrD}Xcdo0sP+GCRtK-n4Uo5PxtT-~od}HRHYu;G*{NHzjo|(^l z{KU}hsqI^f@Tv5oZ~CLhYpIntrVr4I54|*TcKg7o!S*xt%rHMP)H}grIWe2zxkJC` zJ-w^*@Fb*S|EV1l4<8=hKfS&0-ul+N56!=jxchn_B~*5#zFO42@@%xfZgb_F;VtUL z)a81tzwMsT^x7HUn$>MjwU{Q(kXu{+F?PuVzC3rr+1dWH(yyBhq9@mBCObd;Xh-K% z<126V6ox%Llk4Xuo;cBW{k!z&2mAIPpW8Fq^wpib_vWy0W~%yVRn4|L*|mG#et6@i V?3(GjmUTT;-9syCqT2oJ{{h-%MUMag literal 0 HcmV?d00001 diff --git a/secrets/aly/syncthing/pacifidlog/key.age b/secrets/aly/syncthing/pacifidlog/key.age new file mode 100644 index 0000000000000000000000000000000000000000..ff12463dfc30646621b452a12abe28122a012549 GIT binary patch literal 1711 zcmZY6>CfAQ0mtzPR%xUKHZdWtjlec(G(05n5!;#sa$?7^<2dmVUrb`Q-BI!(Z^x_xCeg zd&^F&tV|dFG`VA%x%IqR*}AhjpL<*O1c2ctR$bAy#_?5NUL&0ljs%!W-~wh0JrsO7 zB|%eQ`gwa2c3jVpdj&?~6^_JL3B3-`#e`y~;UJ1;c}S9BfIy^QYxidAT2kb2NKV{M z&8-=!>Q*tBAFPU%EfpfuYeH)`s{W?P;VP~r%D#cs8&F6k%BQDc<2 zs$m3{wq61{Js{Ow0f@RqcPBZpMCakAw$hCP!mBDwBR1_h43=`7s{~jyROUhlOsL!h zYk=vberEZtdK~hVuBSs(vKXwzfs#9}VvkcHn5!IY%ShC4Q3+XkfWkNnmfX~+ETT=k zN?~-;H|T&^`x=AHn3U`SIkIR?nQ2QwhYHdkj09YRfpJ*r@#MN_31bE_W;EKTrk02-eYUc0IpA6wPp()NXqBqOHc*jgQcW+_0V^j9xoQ1MyYhCP~L9C z6P5Ojfb91WSr%8VPc4~bNr@I!TlHcF%D}9{<7fn=ZCjp{da9sF6vc&DQwu(W{jk+n z+)8KIa+(=Y(^Z1zdj3LBQ45_9199X@sR_ih71oH`%`yYg%{B|Uv=m=umPI=6u!`N) zq0;gLOyM#jhI&d0LN@EfSYee7Z0vv(T3K*fuwacY(kE>p#t5K3wJb_@%5jOed7cDH zj8+5$Co_6eqg}5b@ztEDfem)i9C#hY5ePz5Y7iQNT-T;G#b*J4p}PhFrx>MGf}zM3 zwZvnE{s4(6sAGdNWVcdjtam#m!nb?2L}4`o)Cg9TK%VRGs(um9xqGv>cv`PF~7 zPyh4a_=6v%XU_cD`ti4ln{L^4R1WF$)!Sd*d)MRF>3{srGY58E@zj-j9({>E`rW^u zxctMXe{t=@w;p`)#dl5~cwajFrg-d6&))xqM<06PYVDRckmFg;R(nT&`yhGb#9M=J zoc_mUdyvkN_}%Wm4&S@?`m-PYI)3ui{Lm}L+xPFhL!9e>aA@!CH{ad9Oh5VkAAI%V zbER;T_xy$bNZ-8bZ~K3F&wF2f<1D)S>L>b7UASVwY_`i)SVxH_7L#N4Ue5Wc6k3e`26FaJpaHQx9&Oq`I{%(J72qR@Uw@3`6E9+ zf7dnA@9(a?bljsKRPU2^Usb*0O#R#Yzw*5&A8CC3wX+{xbMT&hA79*hb$IM^eD|-X n?)~5U+D9k;aPr2BC%<$(y7SW?qI+K0`%uID%