Compare commits
8 Commits
e54782f5ed
...
dac5135308
Author | SHA1 | Date |
---|---|---|
Nathan McCarty | dac5135308 | |
Nathan McCarty | 741c41db16 | |
Nathan McCarty | 2360497a9a | |
Nathan McCarty | fa50312ef7 | |
Nathan McCarty | 46568d48b1 | |
Nathan McCarty | b7476f1622 | |
Nathan McCarty | 7890ae5248 | |
Nathan McCarty | 5946e26cbf |
|
@ -249,6 +249,7 @@
|
||||||
};
|
};
|
||||||
swayimg = pkgs.callPackage ./packages/swayimg/default.nix { };
|
swayimg = pkgs.callPackage ./packages/swayimg/default.nix { };
|
||||||
layman = pkgs.callPackage ./packages/layman/default.nix { };
|
layman = pkgs.callPackage ./packages/layman/default.nix { };
|
||||||
|
sommelier = pkgs.callPackage ./packages/sommelier/default.nix { };
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,6 +50,10 @@ in with lib; {
|
||||||
font-awesome
|
font-awesome
|
||||||
layman-package
|
layman-package
|
||||||
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.wob
|
inputs.nixpkgs-unstable.legacyPackages.${pkgs.system}.wob
|
||||||
|
# For fancy x11 scaling
|
||||||
|
inputs.self.packages.${pkgs.system}.sommelier
|
||||||
|
# Polkit
|
||||||
|
polkit_gnome
|
||||||
];
|
];
|
||||||
#########################
|
#########################
|
||||||
## Sway
|
## Sway
|
||||||
|
@ -276,6 +280,20 @@ in with lib; {
|
||||||
${layman-package}/bin/layman || true
|
${layman-package}/bin/layman || true
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
# Setup polkit as a service
|
||||||
|
systemd.user.services.polkit-gnome = {
|
||||||
|
Unit = {
|
||||||
|
Description = "Polkit gnome authentication agent";
|
||||||
|
After = [ "graphical-session.target" ];
|
||||||
|
};
|
||||||
|
Service = {
|
||||||
|
Type = "simple";
|
||||||
|
ExecStart =
|
||||||
|
"${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1";
|
||||||
|
Restart = "on-failure";
|
||||||
|
};
|
||||||
|
Install = { WantedBy = [ "graphical-session.target" ]; };
|
||||||
|
};
|
||||||
#########################
|
#########################
|
||||||
## Mako (notifications)
|
## Mako (notifications)
|
||||||
#########################
|
#########################
|
||||||
|
|
|
@ -1,6 +1,11 @@
|
||||||
{ config, lib, pkgs, inputs, ... }:
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
let
|
||||||
{
|
system = pkgs.system;
|
||||||
|
unstable = import inputs.nixpkgs-unstable {
|
||||||
|
config = { allowUnfree = true; };
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
|
in {
|
||||||
# Sops setup for this machine
|
# Sops setup for this machine
|
||||||
sops.secrets = {
|
sops.secrets = {
|
||||||
"borg-ssh-key" = {
|
"borg-ssh-key" = {
|
||||||
|
@ -83,17 +88,9 @@
|
||||||
max-jobs = 4;
|
max-jobs = 4;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Calibre
|
# vmware
|
||||||
services.calibre-web = {
|
virtualisation.vmware.host = {
|
||||||
enable = true;
|
enable = true;
|
||||||
user = "nathan";
|
package = unstable.vmware-workstation;
|
||||||
group = "users";
|
|
||||||
openFirewall = true;
|
|
||||||
listen = { ip = "100.95.223.6"; };
|
|
||||||
options = {
|
|
||||||
calibreLibrary = "/home/nathan/Books";
|
|
||||||
enableBookConversion = true;
|
|
||||||
enableBookUploading = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, inputs, ... }: {
|
||||||
|
|
||||||
{
|
|
||||||
nathan = {
|
nathan = {
|
||||||
services = { email = { enable = true; }; };
|
services = { email = { enable = true; }; };
|
||||||
config = { isDesktop = true; };
|
config = { isDesktop = true; };
|
||||||
|
@ -11,7 +9,17 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [ gammastep fido2luks ];
|
home.packages = with pkgs; [
|
||||||
|
gammastep
|
||||||
|
fido2luks
|
||||||
|
(pkgs.makeDesktopItem rec {
|
||||||
|
name = "VMWare Workstation (Wrapped)";
|
||||||
|
exec = "${
|
||||||
|
inputs.self.packages.${pkgs.system}.sommelier
|
||||||
|
}/bin/sommelier -X --scale 1 vmware";
|
||||||
|
desktopName = name;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
# Sway outputs
|
# Sway outputs
|
||||||
wayland.windowManager.sway.config = {
|
wayland.windowManager.sway.config = {
|
||||||
|
|
|
@ -229,17 +229,6 @@
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"calibre.mccarty.io" = {
|
|
||||||
forceSSL = true;
|
|
||||||
useACMEHost = "mccarty.io";
|
|
||||||
locations."/" = {
|
|
||||||
proxyPass = "http://100.95.223.6:8083";
|
|
||||||
extraConfig = ''
|
|
||||||
allow 100.64.0.0/10;
|
|
||||||
deny all;
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# Now we can configure ACME so we can get a star cert
|
# Now we can configure ACME so we can get a star cert
|
||||||
|
|
|
@ -5,6 +5,19 @@ let
|
||||||
in with lib; {
|
in with lib; {
|
||||||
config = mkMerge [
|
config = mkMerge [
|
||||||
{
|
{
|
||||||
|
security.polkit = {
|
||||||
|
enable = true;
|
||||||
|
# TODO: Refine the wheel branch to only include nessicary actions
|
||||||
|
# extraConfig = ''
|
||||||
|
# polkit.addRule(function(action, subject) {
|
||||||
|
# if (subject.isInGroup("wheel"))
|
||||||
|
# {
|
||||||
|
# return polkit.Result.YES;
|
||||||
|
# }
|
||||||
|
# })
|
||||||
|
# '';
|
||||||
|
};
|
||||||
|
environment.shells = [ pkgs.fish ];
|
||||||
users = {
|
users = {
|
||||||
# If we install the user and the system is hardended, then disable mutable users
|
# If we install the user and the system is hardended, then disable mutable users
|
||||||
mutableUsers = !(nc.installUser && nc.harden);
|
mutableUsers = !(nc.installUser && nc.harden);
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland-scanner
|
||||||
|
, libxkbcommon, mesa, pixman, xorg, wayland, gtest }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "sommelier";
|
||||||
|
version = "104.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "akvadrako";
|
||||||
|
repo = "sommelier";
|
||||||
|
rev = "31a42a2f8c649ae82a3239284bced7ef39a569ef";
|
||||||
|
sha256 = "sha256-ZTvH4mn7eK2e/1u6FVVpR7aaeAQ+JxSa4nhXWLxSfvo=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ meson ninja pkg-config wayland-scanner ];
|
||||||
|
buildInputs = [ libxkbcommon mesa pixman wayland xorg.libxcb ];
|
||||||
|
|
||||||
|
doCheck = true;
|
||||||
|
nativeCheckInputs = [ gtest ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage =
|
||||||
|
"https://chromium.googlesource.com/chromiumos/platform2/+/refs/heads/main/vm_tools/sommelier/";
|
||||||
|
description = "Nested Wayland compositor with support for X11 forwarding";
|
||||||
|
maintainers = with maintainers; [ qyliss ];
|
||||||
|
license = licenses.bsd3;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue