Compare commits
No commits in common. "291c78abc50696afe60dda0fd0b1945371de359b" and "277f6a3f79473f25ec1b8dea31a229432949ad68" have entirely different histories.
291c78abc5
...
277f6a3f79
27 changed files with 64 additions and 2073 deletions
|
|
@ -1,4 +0,0 @@
|
||||||
{inputs, ...}: {
|
|
||||||
imports = ["${inputs.sdm845}/nixos/profiles/boot/kernel/sdm845-mainline"];
|
|
||||||
hardware.graphics.enable32Bit = false;
|
|
||||||
}
|
|
||||||
|
|
@ -1,72 +0,0 @@
|
||||||
{
|
|
||||||
modulesPath,
|
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
...
|
|
||||||
}: let
|
|
||||||
efiArch = pkgs.stdenv.hostPlatform.efiArch;
|
|
||||||
in {
|
|
||||||
imports = ["${modulesPath}/image/repart.nix"];
|
|
||||||
boot.loader.grub.enable = false;
|
|
||||||
|
|
||||||
systemd.repart = {
|
|
||||||
enable = true;
|
|
||||||
partitions."03-root".Type = "root";
|
|
||||||
};
|
|
||||||
boot.initrd.systemd = {
|
|
||||||
enable = true;
|
|
||||||
root = "gpt-auto";
|
|
||||||
};
|
|
||||||
boot.initrd.supportedFilesystems.ext4 = true;
|
|
||||||
|
|
||||||
fileSystems."/".device = "/dev/disk/by-label/nixos";
|
|
||||||
fileSystems."/".fsType = "ext4";
|
|
||||||
fileSystems."/boot".device = "/dev/disk/by-label/ESP";
|
|
||||||
fileSystems."/boot".fsType = "vfat";
|
|
||||||
image.repart = {
|
|
||||||
name = "image";
|
|
||||||
partitions = {
|
|
||||||
"10-uboot-padding" = {
|
|
||||||
repartConfig = {
|
|
||||||
Type = "linux-generic";
|
|
||||||
Label = "uboot-padding";
|
|
||||||
SizeMinBytes = "10M";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"20-esp" = {
|
|
||||||
contents = {
|
|
||||||
"/EFI/EDK2-UEFI-SHELL/SHELL.EFI".source = "${pkgs.edk2-uefi-shell.overrideAttrs {env.NIX_CFLAGS_COMPILE = "-Wno-error=maybe-uninitialized";}}/shell.efi";
|
|
||||||
"/EFI/BOOT/BOOT${lib.toUpper efiArch}.EFI".source = "${pkgs.systemd}/lib/systemd/boot/efi/systemd-boot${efiArch}.efi";
|
|
||||||
"/EFI/Linux/${config.system.boot.loader.ukiFile}".source = "${config.system.build.uki}/${config.system.boot.loader.ukiFile}";
|
|
||||||
"/loader/loader.conf".source = pkgs.writeText "loader.conf" ''
|
|
||||||
timeout 5
|
|
||||||
console-mode keep
|
|
||||||
'';
|
|
||||||
"/loader/entries/shell.conf".source = pkgs.writeText "shell.conf" ''
|
|
||||||
title EDK2 UEFI Shell
|
|
||||||
efi /EFI/EDK2-UEFI-SHELL/SHELL.EFI
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
repartConfig = {
|
|
||||||
Type = "esp";
|
|
||||||
Format = "vfat";
|
|
||||||
Label = "ESP";
|
|
||||||
SizeMinBytes = "500M";
|
|
||||||
GrowFileSystem = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"30-root" = {
|
|
||||||
storePaths = [config.system.build.toplevel];
|
|
||||||
contents."/boot".source = pkgs.runCommand "boot" {} "mkdir $out";
|
|
||||||
repartConfig = {
|
|
||||||
Type = "root";
|
|
||||||
Format = "ext4";
|
|
||||||
Label = "nixos";
|
|
||||||
Minimize = "guess";
|
|
||||||
GrowFileSystem = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
1930
flake.lock
generated
1930
flake.lock
generated
File diff suppressed because it is too large
Load diff
42
flake.nix
42
flake.nix
|
|
@ -2,11 +2,14 @@
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||||
wrapper-manager.url = "github:viperML/wrapper-manager";
|
wrapper-manager.url = "github:viperML/wrapper-manager";
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
|
||||||
disko = {
|
disko = {
|
||||||
url = "github:nix-community/disko";
|
url = "github:nix-community/disko";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
firefox-gnome-theme = {
|
||||||
|
url = "github:rafaelmardojai/firefox-gnome-theme";
|
||||||
|
flake = false;
|
||||||
|
};
|
||||||
run0-sudo-shim = {
|
run0-sudo-shim = {
|
||||||
url = "github:lordgrimmauld/run0-sudo-shim";
|
url = "github:lordgrimmauld/run0-sudo-shim";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
|
@ -51,14 +54,6 @@
|
||||||
url = "github:nix-community/nh";
|
url = "github:nix-community/nh";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
firefox-gnome-theme = {
|
|
||||||
url = "github:rafaelmardojai/firefox-gnome-theme";
|
|
||||||
flake = false;
|
|
||||||
};
|
|
||||||
sdm845 = {
|
|
||||||
url = "github:linyinfeng/dotfiles";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs: let
|
outputs = inputs: let
|
||||||
|
|
@ -67,9 +62,9 @@
|
||||||
opt = lib.optionals;
|
opt = lib.optionals;
|
||||||
dirFiles = type: dir: lib.filter (lib.hasSuffix type) (lib.filesystem.listFilesRecursive dir);
|
dirFiles = type: dir: lib.filter (lib.hasSuffix type) (lib.filesystem.listFilesRecursive dir);
|
||||||
};
|
};
|
||||||
system = hostname: isDesktop: arch:
|
system = hostname: isDesktop:
|
||||||
lib.nixosSystem {
|
lib.nixosSystem {
|
||||||
system = "${arch}-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit inputs isDesktop dirUtils;
|
inherit inputs isDesktop dirUtils;
|
||||||
};
|
};
|
||||||
|
|
@ -93,22 +88,13 @@
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
inputs.flake-parts.lib.mkFlake {inherit inputs;} {
|
nixosConfigurations = builtins.mapAttrs (name: value: system name value) {
|
||||||
systems = ["aarch64-linux" "x86_64-linux"];
|
"quadraticserver" = false;
|
||||||
|
"quadraticpc" = true;
|
||||||
perSystem = {pkgs, ...}: {
|
"quadtop" = true;
|
||||||
formatter = pkgs.alejandra;
|
|
||||||
};
|
|
||||||
|
|
||||||
flake.nixosConfigurations = builtins.mapAttrs (name: value: system name value.isDesktop value.arch or "x86_64") {
|
|
||||||
"quadraticserver".isDesktop = false;
|
|
||||||
"quadraticpc".isDesktop = true;
|
|
||||||
"quadtop".isDesktop = true;
|
|
||||||
"quadphone" = {
|
|
||||||
isDesktop = true;
|
|
||||||
arch = "aarch64";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
formatter.x86_64-linux = inputs.nixpkgs.legacyPackages.x86_64-linux.alejandra;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
3
modules/desktop/flatpak.nix
Normal file
3
modules/desktop/flatpak.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
services.flatpak.enable = true;
|
||||||
|
}
|
||||||
3
modules/desktop/mac.nix
Normal file
3
modules/desktop/mac.nix
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
networking.networkmanager.wifi.macAddress = "random";
|
||||||
|
}
|
||||||
|
|
@ -1,11 +1,27 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
|
services.xserver.excludePackages = [pkgs.xterm];
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
tuba
|
||||||
gimp
|
gimp
|
||||||
|
deno
|
||||||
heroic
|
heroic
|
||||||
|
aspell
|
||||||
|
ptyxis
|
||||||
|
muzika
|
||||||
|
foliate
|
||||||
|
gapless
|
||||||
inkscape
|
inkscape
|
||||||
r2modman
|
r2modman
|
||||||
|
pciutils
|
||||||
|
resources
|
||||||
libreoffice
|
libreoffice
|
||||||
|
wl-clipboard
|
||||||
|
google-cursor
|
||||||
prismlauncher
|
prismlauncher
|
||||||
|
authenticator
|
||||||
|
cinny-desktop
|
||||||
|
papirus-icon-theme
|
||||||
nexusmods-app-unfree
|
nexusmods-app-unfree
|
||||||
|
hunspellDicts.en_CA-large
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
20
modules/desktop/polkit.nix
Normal file
20
modules/desktop/polkit.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
environment.systemPackages = [
|
||||||
|
(pkgs.writeTextDir "share/polkit-1/actions/com.henryhiles.quados.policy" ''
|
||||||
|
<!DOCTYPE policyconfig PUBLIC '-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN' 'http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd'>
|
||||||
|
|
||||||
|
<policyconfig>
|
||||||
|
<action id='com.henryhiles.quados.rebuild'>
|
||||||
|
<description>Rebuild</description>
|
||||||
|
<message>Authentication is required to rebuild the system</message>
|
||||||
|
<defaults>
|
||||||
|
<allow_any>auth_admin_keep</allow_any>
|
||||||
|
<allow_inactive>auth_admin_keep</allow_inactive>
|
||||||
|
<allow_active>auth_admin_keep</allow_active>
|
||||||
|
</defaults>
|
||||||
|
<annotate key='org.freedesktop.policykit.exec.path'>/home/quadradical/.local/bin/rebuildExec</annotate>
|
||||||
|
</action>
|
||||||
|
</policyconfig>
|
||||||
|
'')
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
{networking.networkmanager.wifi.macAddress = "random";}
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
{pkgs, ...}: {
|
|
||||||
services.xserver.excludePackages = [pkgs.xterm];
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
tuba
|
|
||||||
ptyxis
|
|
||||||
gapless
|
|
||||||
resources
|
|
||||||
wl-clipboard
|
|
||||||
google-cursor
|
|
||||||
authenticator
|
|
||||||
cinny-desktop
|
|
||||||
papirus-icon-theme
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,32 +0,0 @@
|
||||||
{
|
|
||||||
lib,
|
|
||||||
buildLinux,
|
|
||||||
fetchFromGitLab,
|
|
||||||
...
|
|
||||||
} @ args: let
|
|
||||||
src = fetchFromGitLab {
|
|
||||||
owner = "sdm845-mainline";
|
|
||||||
repo = "linux";
|
|
||||||
rev = "sdm845/6.16-dev";
|
|
||||||
hash = "sha256-Nu7BwSl40Ytm7nCzyctNed7nqwq7NcVVxHLF3KFMKC4=";
|
|
||||||
};
|
|
||||||
version = "${rec {
|
|
||||||
file = "${src}/Makefile";
|
|
||||||
version = toString (builtins.match ".+VERSION = ([0-9]+).+" (builtins.readFile file));
|
|
||||||
patchlevel = toString (builtins.match ".+PATCHLEVEL = ([0-9]+).+" (builtins.readFile file));
|
|
||||||
sublevel = toString (builtins.match ".+SUBLEVEL = ([0-9]+).+" (builtins.readFile file));
|
|
||||||
extraversion = toString (builtins.match ".+EXTRAVERSION = ([a-z0-9-]+).+" (builtins.readFile file));
|
|
||||||
string = "${version + "." + patchlevel + "." + sublevel + (lib.optionalString (extraversion != "") extraversion)}";
|
|
||||||
}.string}";
|
|
||||||
in (buildLinux (
|
|
||||||
args
|
|
||||||
// {
|
|
||||||
inherit src version;
|
|
||||||
modDirVersion = version;
|
|
||||||
extraMeta = {
|
|
||||||
platforms = ["aarch64-linux"];
|
|
||||||
hydraPlatforms = [""];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
// (args.argsOverride or {})
|
|
||||||
))
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue