Compare commits
2 Commits
emmie-sepa
...
mob/nix-op
| Author | SHA1 | Date | |
|---|---|---|---|
| f3e25e7837 | |||
| c96f8d999a |
40
flake.lock
generated
40
flake.lock
generated
@@ -221,26 +221,27 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"plasma-manager": {
|
||||
"openwrt-imagebuilder": {
|
||||
"inputs": {
|
||||
"home-manager": [
|
||||
"home-manager"
|
||||
"flake-parts": [
|
||||
"flake-parts"
|
||||
],
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
],
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1772361940,
|
||||
"narHash": "sha256-B1Cz+ydL1iaOnGlwOFld/C8lBECPtzhiy/pP93/CuyY=",
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"rev": "a4b33606111c9c5dcd10009042bb710307174f51",
|
||||
"lastModified": 1773564448,
|
||||
"narHash": "sha256-RdhwMI7cAMa0bHkBIG2j1GVTYMEiZOqHWNpNV5nWgdo=",
|
||||
"owner": "astro",
|
||||
"repo": "nix-openwrt-imagebuilder",
|
||||
"rev": "e7c0890d1c740dfd0c0bb2d1dc1703acde60a25f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"owner": "astro",
|
||||
"repo": "nix-openwrt-imagebuilder",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
@@ -253,7 +254,7 @@
|
||||
"import-tree": "import-tree",
|
||||
"liminix": "liminix",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"plasma-manager": "plasma-manager",
|
||||
"openwrt-imagebuilder": "openwrt-imagebuilder",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
}
|
||||
},
|
||||
@@ -293,6 +294,21 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_2": {
|
||||
"locked": {
|
||||
"lastModified": 1680978846,
|
||||
"narHash": "sha256-Gtqg8b/v49BFDpDetjclCYXm8mAnTrUzR0JnE2nv5aw=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "x86_64-linux",
|
||||
"rev": "2ecfcac5e15790ba6ce360ceccddb15ad16d08a8",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "x86_64-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
||||
37
flake.nix
37
flake.nix
@@ -19,13 +19,13 @@
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:nix-community/home-manager";
|
||||
};
|
||||
plasma-manager = {
|
||||
url = "github:nix-community/plasma-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.home-manager.follows = "home-manager";
|
||||
};
|
||||
import-tree.url = "github:vic/import-tree";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||
openwrt-imagebuilder = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.flake-parts.follows = "flake-parts";
|
||||
url = "github:astro/nix-openwrt-imagebuilder";
|
||||
};
|
||||
treefmt-nix = {
|
||||
url = "github:numtide/treefmt-nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
@@ -72,6 +72,33 @@
|
||||
packages.think-be = pkgs.think-backend-gtcm;
|
||||
packages.file-uploader = pkgs.gtcm-file-uploader;
|
||||
};
|
||||
|
||||
flake.packages.x86_64-linux.myrouter =
|
||||
let
|
||||
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
|
||||
profiles = inputs.openwrt-imagebuilder.lib.profiles { inherit pkgs; };
|
||||
config = profiles.identifyProfile "glinet_gl-mt6000" // {
|
||||
# add package to include in the image, ie. packages that you don't
|
||||
# want to install manually later
|
||||
packages = [ "tcpdump" ];
|
||||
|
||||
disabledServices = [ "dnsmasq" ];
|
||||
|
||||
# include files in the images.
|
||||
# to set UCI configuration, create a uci-defauts scripts as per
|
||||
# official OpenWRT ImageBuilder recommendation.
|
||||
files = pkgs.runCommand "image-files" { } ''
|
||||
mkdir -p $out/etc/uci-defaults
|
||||
cat > $out/etc/uci-defaults/99-custom <<EOF
|
||||
uci -q batch << EOI
|
||||
set system.@system[0].hostname='testap'
|
||||
commit
|
||||
EOI
|
||||
EOF
|
||||
'';
|
||||
};
|
||||
in
|
||||
inputs.openwrt-imagebuilder.lib.build config;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
{ config, ... }:
|
||||
let
|
||||
username = "emmie";
|
||||
userhome = "/home/${username}";
|
||||
in
|
||||
{
|
||||
clan.inventory = {
|
||||
tags = {
|
||||
@@ -17,11 +12,6 @@ in
|
||||
};
|
||||
roles.peer.tags.emmie = { };
|
||||
roles.peer.settings = {
|
||||
folders = {
|
||||
Syncthing = {
|
||||
path = "${userhome}/Share/Syncthing";
|
||||
};
|
||||
};
|
||||
extraDevices = {
|
||||
pixel7a = {
|
||||
id = "CEUJMEG-SOHXIJF-G2FT5QB-6MZW3EN-PONI3QN-HPEIOSU-IMSLGW7-XUU6BQK";
|
||||
@@ -30,14 +20,6 @@ in
|
||||
};
|
||||
};
|
||||
};
|
||||
roles.peer.extraModules = [
|
||||
{
|
||||
config.services.syncthing = {
|
||||
user = username;
|
||||
dataDir = "${userhome}/Share";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -14,9 +14,14 @@
|
||||
instances = {
|
||||
emmie-home = {
|
||||
module = {
|
||||
name = "emmie-home";
|
||||
name = "home-user";
|
||||
input = "self";
|
||||
};
|
||||
roles.default.settings = {
|
||||
username = "emmie";
|
||||
kbLayout = "us,th";
|
||||
kbOptions = "grp:win_space_toggle,grp:alt_shift_toggle";
|
||||
};
|
||||
roles.default.machines."rana" = { };
|
||||
};
|
||||
chocolate-home = {
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"installedAt": 1765343708
|
||||
},
|
||||
"rana": {
|
||||
"installedAt": 1773134236
|
||||
"installedAt": 1768294839
|
||||
},
|
||||
"petra": {
|
||||
"installedAt": 1769064458
|
||||
|
||||
@@ -53,9 +53,6 @@ in
|
||||
zroot = {
|
||||
type = "zpool";
|
||||
rootFsOptions = {
|
||||
encryption = "aes-256-gcm";
|
||||
keyformat = "passphrase";
|
||||
keylocation = "file:///tmp/secret.key";
|
||||
mountpoint = "none";
|
||||
compression = "lz4";
|
||||
acltype = "posixacl";
|
||||
|
||||
@@ -2,6 +2,5 @@
|
||||
{
|
||||
clan.modules = {
|
||||
home-user = lib.modules.importApply ./home-user { };
|
||||
emmie-home = lib.modules.importApply ./home-user/emmie.nix { };
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,127 +0,0 @@
|
||||
{ ... }:
|
||||
{
|
||||
_class = "clan.service";
|
||||
manifest.name = "emmie-home-manager";
|
||||
manifest.description = "Emmie's home-manager profile generator";
|
||||
manifest.readme = "Emmie's home-manager profile generator";
|
||||
manifest.categories = [ "System" ];
|
||||
|
||||
roles.default = {
|
||||
description = "a default role for the user";
|
||||
perInstance =
|
||||
{ ... }:
|
||||
{
|
||||
nixosModule =
|
||||
{ inputs, pkgs, ... }:
|
||||
let
|
||||
username = "emmie";
|
||||
in
|
||||
{
|
||||
imports = [ inputs.home-manager.nixosModules.home-manager ];
|
||||
|
||||
users.users.${username} = {
|
||||
initialPassword = "";
|
||||
isNormalUser = true;
|
||||
extraGroups = [
|
||||
"audio"
|
||||
"video"
|
||||
"networkmanager"
|
||||
];
|
||||
};
|
||||
|
||||
services.xserver = {
|
||||
enable = true;
|
||||
xkb.layout = "us,th";
|
||||
xkb.options = "grp:win_space_toggle,grp:alt_shift_toggle";
|
||||
};
|
||||
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
extraOpts = {
|
||||
"BlockThirdPartyCookies" = true;
|
||||
"ClearBrowsingDataOnExitList" = [
|
||||
"download_history"
|
||||
"cookies_and_other_site_data"
|
||||
"cached_images_and_files"
|
||||
"password_signin"
|
||||
"autofill"
|
||||
"site_settings"
|
||||
"hosted_app_data"
|
||||
];
|
||||
"BraveRewardsDisabled" = true;
|
||||
"BraveWalletDisabled" = true;
|
||||
"BraveAIChatEnabled" = false;
|
||||
"BraveNewsDisabled" = true;
|
||||
"BraveSpeedreaderEnabled" = false;
|
||||
"BraveWaybackMachineEnabled" = false;
|
||||
"BraveStatsPingEnabled" = false;
|
||||
"BraveWebDiscoveryEnabled" = false;
|
||||
"BravePlaylistEnabled" = false;
|
||||
"BraveVPNDisabled" = true;
|
||||
"TorDisabled" = true;
|
||||
"BraveP3AEnabled" = false;
|
||||
"BraveTalkDisabled" = true;
|
||||
"SyncDisabled" = false;
|
||||
"PasswordManagerEnabled" = false;
|
||||
"AutofillAddressEnabled" = false;
|
||||
"AutofillCreditCardEnabled" = false;
|
||||
"TranslateEnabled" = false;
|
||||
"DnsOverHttpsMode" = "secure";
|
||||
"DnsOverHttpsTemplates" = "https://dns.adguard-dns.com/dns-query";
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.${username} =
|
||||
{
|
||||
osConfig,
|
||||
pkgs,
|
||||
lib,
|
||||
inputs,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [ inputs.plasma-manager.homeModules.plasma-manager ];
|
||||
|
||||
home = {
|
||||
homeDirectory = lib.mkForce "/home/${username}";
|
||||
stateVersion = osConfig.system.stateVersion;
|
||||
packages = with pkgs; [
|
||||
libreoffice-fresh
|
||||
element-desktop
|
||||
signal-desktop
|
||||
brave
|
||||
keepassxc
|
||||
vlc
|
||||
thunderbird
|
||||
wasabiwallet
|
||||
protonmail-desktop
|
||||
];
|
||||
};
|
||||
programs.chromium.package = pkgs.brave;
|
||||
programs.home-manager.enable = true;
|
||||
services.syncthing.tray.enable = osConfig.services.syncthing.enable;
|
||||
programs.plasma.enable = true;
|
||||
programs.plasma.powerdevil = {
|
||||
AC = {
|
||||
autoSuspend.action = "shutDown";
|
||||
autoSuspend.idleTimeout = 1800;
|
||||
};
|
||||
battery = {
|
||||
autoSuspend.action = "shutDown";
|
||||
autoSuspend.idleTimeout = 1800;
|
||||
};
|
||||
lowBattery = {
|
||||
autoSuspend.action = "shutDown";
|
||||
autoSuspend.idleTimeout = 1800;
|
||||
};
|
||||
};
|
||||
};
|
||||
home-manager.extraSpecialArgs = {
|
||||
inherit inputs;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
security.polkit.extraConfig = ''
|
||||
polkit.addRule(function(action, subject) {
|
||||
if ((action.id == "org.freedesktop.accounts.change-own-password")) {
|
||||
return polkit.Result.YES;
|
||||
return polkit.Result.AUTH_SELF;
|
||||
}
|
||||
});
|
||||
'';
|
||||
|
||||
Reference in New Issue
Block a user