Revert "flake: drop pacifidlog and jovian due to dependency on unstable"

This reverts commit 211808b02e.
This commit is contained in:
Aly Raffauf 2024-11-26 19:16:36 -05:00
parent e24d830226
commit e1fbcd542e
7 changed files with 329 additions and 22 deletions

View file

@ -354,7 +354,7 @@
},
"original": {
"owner": "nix-community",
"ref": "release-24.11",
"ref": "master",
"repo": "home-manager",
"type": "github"
}
@ -401,6 +401,27 @@
"type": "github"
}
},
"jovian": {
"inputs": {
"nix-github-actions": "nix-github-actions",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1731736013,
"narHash": "sha256-AYB3yeogE9vtBuSStdFFmGR0kzGuumW4nrpdlcuZ/As=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "a2c6d8d1acce49de8dc7ed951428aae901908316",
"type": "github"
},
"original": {
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"type": "github"
}
},
"lanzaboote": {
"inputs": {
"crane": "crane",
@ -450,6 +471,28 @@
"type": "github"
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"jovian",
"nixpkgs"
]
},
"locked": {
"lastModified": 1729697500,
"narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=",
"owner": "zhaofengli",
"repo": "nix-github-actions",
"rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf",
"type": "github"
},
"original": {
"owner": "zhaofengli",
"ref": "matrix-name",
"repo": "nix-github-actions",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1732350895,
@ -461,7 +504,7 @@
},
"original": {
"owner": "nixos",
"ref": "nixos-24.11",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
@ -494,22 +537,6 @@
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1732014248,
"narHash": "sha256-y/MEyuJ5oBWrWAic/14LaIr/u5E0wRVzyYsouYY3W6w=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "23e89b7da85c3640bbc2173fe04f4bd114342367",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": {
"locked": {
"lastModified": 1732640183,
@ -558,10 +585,10 @@
"disko": "disko",
"home-manager": "home-manager_2",
"iio-hyprland": "iio-hyprland",
"jovian": "jovian",
"lanzaboote": "lanzaboote",
"nix-gaming": "nix-gaming",
"nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable",
"nur": "nur",
"stylix": "stylix",
"wallpapers": "wallpapers"

View file

@ -2,8 +2,7 @@
description = "Aly's NixOS flake.";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
agenix = {
inputs.nixpkgs.follows = "nixpkgs";
@ -17,7 +16,7 @@
home-manager = {
inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/home-manager/release-24.11";
url = "github:nix-community/home-manager/master";
};
iio-hyprland = {
@ -25,6 +24,11 @@
url = "github:JeanSchoeller/iio-hyprland";
};
jovian = {
url = "github:Jovian-Experiments/Jovian-NixOS";
inputs.nixpkgs.follows = "nixpkgs";
};
lanzaboote = {
inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/lanzaboote/v0.4.1";
@ -95,6 +99,7 @@
"fallarbor"
"lavaridge"
"mauville"
"pacifidlog"
"petalburg"
"rustboro"
"slateport"

View file

@ -0,0 +1,57 @@
# pacifidlog
## Overview
Lenovo Legion Go with AMD Z1 Extreme. Gaming beast. Uses Jovian for Steam Deck-like interface.
## Todo
- \[x\] update hdd-ui and adjustor.
- \[ \] upgrade to large SSD.
## Specs
| Model | Legion Go |
|---------|---------------------------|
| Display | 8.8" 1600x2560 144Hz |
| CPU | AMD Z1 Extreme |
| RAM | 16GB LPDDR5 (soldered) |
| GPU | AMD Z1 Extreme |
| Disks | 512GB M.2 2242 NVMe |
## Filesystems
### /
Encrypted LUKS btrfs volume.
## Display
Vertical-turned-horizontal 1600x2560 display running at 144Hz. Scales perfectly to 2x.
## Steam / Jovian Docs
Jovian delivers a Steam Deck-like interface on top of NixOS, with some limitations. This includes performance optimizations, patched versions of Mesa, and other tweaks to be as consistent with the Steam Deck as possible.
### Features
#### What works
- Basic performance settings (frame limits, refresh rates, etc).
- Desktop mode with KDE.
- Installing GOG and EGS games with Heroic.
- Launching and playing games, natively and with Proton.
- Plugins and themes with Decky Loader.
#### What does not work
- Adaptive Brightness.
- EmuDeck.
- Formatting microSD cards.
- Night light.
- System updates.
- TDP control and Legion Go specific features (all work with Handheld Daemon).
### Decky Loader
Decky loader can be installed and configured through the Jovian modules, but needs CEF Remote Debugging enabled via Deveroper Options for the frontend UI to load.

View file

@ -0,0 +1,135 @@
# Lenovo Legion Go
{
config,
pkgs,
lib,
self,
...
}: {
imports = [
./home.nix
./secrets.nix
./stylix.nix
(import ./../../disko/luks-btrfs-subvolumes.nix {disks = ["/dev/nvme0n1"];})
self.inputs.jovian.nixosModules.default
self.inputs.nix-gaming.nixosModules.pipewireLowLatency
self.inputs.nix-gaming.nixosModules.platformOptimizations
self.nixosModules.common-base
self.nixosModules.common-locale
self.nixosModules.common-mauville-share
self.nixosModules.common-nix
self.nixosModules.common-pkgs
self.nixosModules.common-tailscale
self.nixosModules.common-wifi-profiles
self.nixosModules.hw-lenovo-legion-go
];
boot = {
initrd.systemd.enable = true;
lanzaboote = {
enable = true;
pkiBundle = "/etc/secureboot";
};
loader = {
efi.canTouchEfiVariables = true;
systemd-boot = {
enable = lib.mkForce false;
consoleMode = "1";
};
};
};
environment = {
systemPackages = with pkgs; [
heroic
hhd-ui
lutris
];
variables.GDK_SCALE = "2";
};
hardware.pulseaudio.enable = lib.mkForce false;
jovian = {
decky-loader = {
enable = true;
user = "aly";
};
hardware.has.amd.gpu = true;
steam = {
enable = true;
autoStart = true;
desktopSession = "plasma";
environment = {
STEAM_EXTRA_COMPAT_TOOLS_PATHS = lib.makeSearchPathOutput "steamcompattool" "" config.programs.steam.extraCompatPackages;
STEAM_GAMESCOPE_COLOR_MANAGED = "0";
};
user = "aly";
};
steamos = {
enableMesaPatches = lib.mkForce false;
useSteamOSConfig = true;
};
};
networking.hostName = "pacifidlog";
nixpkgs.overlays = [self.overlays.tablet];
programs.steam.platformOptimizations.enable = true;
services = {
handheld-daemon = {
enable = true;
package = with pkgs;
handheld-daemon.overrideAttrs (oldAttrs: {
propagatedBuildInputs =
oldAttrs.propagatedBuildInputs
++ [pkgs.adjustor];
});
user = "aly";
};
pipewire.lowLatency = {
enable = true;
quantum = 256;
rate = 48000;
};
};
system.stateVersion = "24.11";
systemd.services.handheld-daemon.path = with pkgs; [hhd-ui lsof];
zramSwap.memoryPercent = 100;
ar = {
apps = {
firefox.enable = true;
steam.enable = true;
};
desktop.kde.enable = true;
laptopMode = true;
services.flatpak.enable = 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;
};
};
};
}

27
hosts/pacifidlog/home.nix Normal file
View file

@ -0,0 +1,27 @@
{self, ...}: {
home-manager = {
sharedModules = [
{
wayland.windowManager = {
hyprland.settings = {
input = {
touchdevice = {
transform = 1;
output = "eDP-1";
};
};
};
};
ar.home = {
desktop.hyprland = {
laptopMonitors = ["desc:Lenovo Group Limited Go Display 0x00888888, 1600x2560@144, 0x0, 2, transform, 1"];
tabletMode.enable = true;
};
};
}
];
users.aly = self.homeManagerModules.aly;
};
}

View file

@ -0,0 +1,6 @@
{
age.secrets = {
syncthingCert.file = ../../secrets/aly/syncthing/pacifidlog/cert.age;
syncthingKey.file = ../../secrets/aly/syncthing/pacifidlog/key.age;
};
}

View file

@ -0,0 +1,50 @@
{
pkgs,
self,
...
}: {
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/default-dark.yaml";
image = "${self.inputs.wallpapers}/Legion_Go_Meteorite_Wallpaper.jpg";
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;
};
};
}