Compare commits
5 Commits
d0bd1ca8fa
...
6699d5488a
Author | SHA1 | Date | |
---|---|---|---|
6699d5488a | |||
e429bdb946 | |||
5d868ad1f8 | |||
0a36b0acb5 | |||
dffafa8973 |
@ -41,7 +41,7 @@
|
|||||||
ptw = {
|
ptw = {
|
||||||
programs = {
|
programs = {
|
||||||
alacritty.enable = true;
|
alacritty.enable = true;
|
||||||
sway.enable = true;
|
sway.enable = false;
|
||||||
emacs.enable = true;
|
emacs.enable = true;
|
||||||
firefox.enable = true;
|
firefox.enable = true;
|
||||||
tmux.enable = true;
|
tmux.enable = true;
|
||||||
@ -56,8 +56,9 @@
|
|||||||
direnv.enable = true;
|
direnv.enable = true;
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
|
yubikey.enable = true;
|
||||||
cups.enable = true;
|
cups.enable = true;
|
||||||
gnome.enable = true;
|
gnome.enable = false;
|
||||||
kanshi = let
|
kanshi = let
|
||||||
horizontal = "Samsung Electric Company C27F398 H4ZR101145";
|
horizontal = "Samsung Electric Company C27F398 H4ZR101145";
|
||||||
|
|
||||||
@ -123,12 +124,29 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
virtualisation = {
|
||||||
|
podman = {
|
||||||
|
enable = true;
|
||||||
|
dockerCompat = true;
|
||||||
|
dockerSocket.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
ansible
|
ansible
|
||||||
gnumake
|
gnumake
|
||||||
|
|
||||||
|
(pkgs.callPackage ./wrapper.nix {
|
||||||
|
inherit (pkgs) retroarch;
|
||||||
|
cores = with pkgs.libretro; [
|
||||||
|
mgba mupen64plus melonds desmume dolphin
|
||||||
|
];
|
||||||
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
gnupg.agent.pinentryFlavor = "qt";
|
gnupg.agent = {
|
||||||
|
pinentryFlavor = "qt";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
37
hosts/wrapper.nix
Normal file
37
hosts/wrapper.nix
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
{ stdenv, lib, makeWrapper, retroarch, cores ? [ ] }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "retroarch";
|
||||||
|
version = lib.getVersion retroarch;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
buildCommand = ''
|
||||||
|
mkdir -p $out/lib
|
||||||
|
for coreDir in $cores
|
||||||
|
do
|
||||||
|
ln -s $coreDir/* $out/lib/.
|
||||||
|
done
|
||||||
|
|
||||||
|
ln -s -t $out ${retroarch}/share
|
||||||
|
|
||||||
|
if [ -d ${retroarch}/Applications ]; then
|
||||||
|
ln -s -t $out ${retroarch}/Applications
|
||||||
|
fi
|
||||||
|
|
||||||
|
makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch \
|
||||||
|
--suffix-each LD_LIBRARY_PATH ':' "$cores" \
|
||||||
|
--add-flags "-L $out/lib/" \
|
||||||
|
'';
|
||||||
|
|
||||||
|
cores = map (x: x + x.libretroCore) cores;
|
||||||
|
preferLocalBuild = true;
|
||||||
|
|
||||||
|
meta = with retroarch.meta; {
|
||||||
|
inherit changelog description homepage license maintainers platforms;
|
||||||
|
longDescription =
|
||||||
|
"RetroArch is the reference frontend for the libretro API. The following cores are included: "
|
||||||
|
+ lib.concatStringsSep ", " (map (x: "${x.name}") cores)
|
||||||
|
+ ".";
|
||||||
|
};
|
||||||
|
}
|
@ -33,7 +33,14 @@ in {
|
|||||||
};
|
};
|
||||||
networking = {
|
networking = {
|
||||||
useDHCP = false; # Done by the network manager
|
useDHCP = false; # Done by the network manager
|
||||||
networkmanager.enable = true;
|
networkmanager = {
|
||||||
|
enable = true;
|
||||||
|
plugins = with pkgs; [
|
||||||
|
networkmanager-vpnc
|
||||||
|
networkmanager-openvpn
|
||||||
|
networkmanager-openconnect
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
#interfaces.*.useDHCP = false;
|
#interfaces.*.useDHCP = false;
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@
|
|||||||
./services/greetd
|
./services/greetd
|
||||||
./services/cups
|
./services/cups
|
||||||
./services/logiops
|
./services/logiops
|
||||||
|
./services/yubikey
|
||||||
|
|
||||||
# User
|
# User
|
||||||
#./users/default.nix
|
#./users/default.nix
|
||||||
|
@ -14,7 +14,7 @@ in {
|
|||||||
description = "Ignore NixOS 'recommendations' and use the Wayland session by default";
|
description = "Ignore NixOS 'recommendations' and use the Wayland session by default";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
sddm = {
|
/*sddm = {
|
||||||
backgroundImage = lib.mkOption {
|
backgroundImage = lib.mkOption {
|
||||||
default = "${pkgs.sddm-sugar-dark}/usr/share/sddm/themes/sugar-dark/Background.jpg";
|
default = "${pkgs.sddm-sugar-dark}/usr/share/sddm/themes/sugar-dark/Background.jpg";
|
||||||
description = "The background image to use with sddm-sugar-dark";
|
description = "The background image to use with sddm-sugar-dark";
|
||||||
@ -27,7 +27,7 @@ in {
|
|||||||
default = 1080;
|
default = 1080;
|
||||||
description = "Width of the screen";
|
description = "Width of the screen";
|
||||||
};
|
};
|
||||||
};
|
};*/
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
config = lib.mkIf cfg.enable {
|
||||||
|
@ -83,7 +83,7 @@ in {
|
|||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
#extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
#extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
|
||||||
gtkUsePortal = true;
|
#gtkUsePortal = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
qt5 = {
|
qt5 = {
|
||||||
|
@ -15,6 +15,10 @@ in {
|
|||||||
drivers = with pkgs; [ hplip ];
|
drivers = with pkgs; [ hplip ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.avahi = {
|
||||||
|
enable = lib.mkForce true;
|
||||||
|
nssmdns = true;
|
||||||
|
};
|
||||||
hardware.sane = {
|
hardware.sane = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraBackends = with pkgs; [ sane-airscan hplip ];
|
extraBackends = with pkgs; [ sane-airscan hplip ];
|
||||||
|
31
modules/services/yubikey/default.nix
Normal file
31
modules/services/yubikey/default.nix
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{ lib, config, pkgs, ...}:
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.ptw.services.yubikey;
|
||||||
|
in {
|
||||||
|
options.ptw.services.yubikey = {
|
||||||
|
enable = lib.mkEnableOption "Enable everything for using a YubiKey";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable {
|
||||||
|
services = {
|
||||||
|
# Unprivileged access to the YubiKey
|
||||||
|
udev.packages = [ pkgs.yubikey-personalization ];
|
||||||
|
|
||||||
|
# Allow using the YubiKey as a smart card
|
||||||
|
pcscd.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
# Management
|
||||||
|
yubikey-manager-qt yubikey-manager yubico-piv-tool
|
||||||
|
];
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
gnupg.agent = {
|
||||||
|
enable = true;
|
||||||
|
enableSSHSupport = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -24,7 +24,7 @@
|
|||||||
programs.ssh = {
|
programs.ssh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
matchBlocks = let
|
matchBlocks = let
|
||||||
sshPort = 3434;
|
sshPort = 1847;
|
||||||
in {
|
in {
|
||||||
ayame = {
|
ayame = {
|
||||||
port = sshPort;
|
port = sshPort;
|
||||||
@ -33,6 +33,13 @@
|
|||||||
identityFile = "~/.ssh/polynom.me_ayame";
|
identityFile = "~/.ssh/polynom.me_ayame";
|
||||||
identitiesOnly = true;
|
identitiesOnly = true;
|
||||||
};
|
};
|
||||||
|
taihou = {
|
||||||
|
port = sshPort;
|
||||||
|
hostname = "162.55.43.248";
|
||||||
|
user = "alexander";
|
||||||
|
identityFile = "~/.ssh/polynom.me_ayame";
|
||||||
|
identitiesOnly = true;
|
||||||
|
};
|
||||||
"git.polynom.me" = {
|
"git.polynom.me" = {
|
||||||
port = 2222;
|
port = 2222;
|
||||||
user = "gitea";
|
user = "gitea";
|
||||||
|
Loading…
Reference in New Issue
Block a user