summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzimbatm <zimbatm@zimbatm.com>2018-11-16 15:40:10 +0100
committerzimbatm <zimbatm@zimbatm.com>2019-01-17 14:36:50 +0100
commit9433c2d7fecb0e4b0572e45b45e2ba207176effe (patch)
tree07176633995a8ab8f78502ac03487c4f5634e97f
parent0c798bb73a2b523919cade797408335db9bc8940 (diff)
snapshot
-rw-r--r--.gitignore3
-rw-r--r--demo/configuration.nix83
-rw-r--r--demo/profile.nix69
-rwxr-xr-xdemo/vm-build.sh (renamed from demo/build-vm.sh)0
-rwxr-xr-xdemo/vm-run.sh8
5 files changed, 95 insertions, 68 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..41cc0d3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*.qcow2
+result
+result-*
diff --git a/demo/configuration.nix b/demo/configuration.nix
index b185dd9..09aa064 100644
--- a/demo/configuration.nix
+++ b/demo/configuration.nix
@@ -1,80 +1,27 @@
-{ pkgs, ... }@args:
-let
- home-manager = builtins.fetchTarball https://github.com/rycee/home-manager/archive/master.tar.gz;
-in
-{
-
+{ ... }: {
imports = [
- "${home-manager}/nixos"
- ];
-
- nixpkgs.overlays = [ (import ../.) ];
-
- networking.networkmanager.enable = true;
-
- fonts.fonts = with pkgs; [
- dejavu_fonts # just a basic good fond
- font-awesome_5 # needed by i3status-rust
+ #(import ./profile.nix { user = "demo"; })
];
- # add sound support
- hardware.pulseaudio.enable = true;
-
- # to allow control of the screen brightness
- hardware.brightnessctl.enable = true;
-
- # setup the demo home
- home-manager.users.demo = (import ./home/profile.nix) args;
-
- programs.ssh.startAgent = false; # use gpg-agent instead
- programs.gnupg = {
- agent.enable = true;
- agent.enableSSHSupport = true;
- dirmngr.enable = true;
- };
-
- # Sway
- programs.sway-beta.enable = true;
- programs.sway-beta.extraSessionCommands = ''
- # Tell toolkits to use wayland
- export CLUTTER_BACKEND=wayland
- export QT_QPA_PLATFORM=wayland-egl
- export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
- export SDL_VIDEODRIVER=wayland
+ nix.trustedUsers = [ "root" "@wheel" ];
- # Fix krita and other Egl-using apps
- export LD_LIBRARY_PATH=/run/opengl-driver/lib
-
- # Disable HiDPI scaling for X apps
- # https://wiki.archlinux.org/index.php/HiDPI#GUI_toolkits
- export GDK_SCALE=1
- export QT_AUTO_SCREEN_SCALE_FACTOR=0
- '';
-
- # manage those with home-manager
- programs.sway-beta.extraPackages = [];
-
- # Sway doesn't support login managers
- services.xserver.enable = false;
+ security.sudo.enable = true;
- # Create the demo user with proper permissions
- users.extraUsers.demo = {
- password = "demo";
+ users.users.demo = {
+ uid = 1000;
+ isNormalUser = true;
+ password = "demo1234";
+ #hashedPassword = "$6$3vp.8UtiX$XSiK9o.4OMB1e.NWH9TebK2GigdAX2HvH9w0XUnv9gU2a96b6zLQCRS7HNnApafK16K2puxWjnC0A.eriwpUD1";
extraGroups = [
- "wheel"
- "input"
- "tty"
- "audio"
- "video"
- # allow sway's setuid executable
- "sway"
- "networkmanager"
- # allow sudo
+ # allow demo to administer the machine
"wheel"
];
- uid = 3000;
};
- security.sudo.enable = true;
+ users.users.root = {
+ password = "root1234";
+ };
+ services.xserver.enable = false;
}
+
diff --git a/demo/profile.nix b/demo/profile.nix
new file mode 100644
index 0000000..7884230
--- /dev/null
+++ b/demo/profile.nix
@@ -0,0 +1,69 @@
+{ user }:
+{ pkgs, ... }@args:
+let
+ home-manager = builtins.fetchTarball https://github.com/rycee/home-manager/archive/master.tar.gz;
+in
+{
+ imports = [
+ "${home-manager}/nixos"
+ ];
+
+ nixpkgs.overlays = [ (import ../.) ];
+
+ networking.networkmanager.enable = true;
+
+ fonts.fonts = with pkgs; [
+ dejavu_fonts # just a basic good fond
+ font-awesome_5 # needed by i3status-rust
+ ];
+
+ # add sound support
+ hardware.pulseaudio.enable = true;
+
+ # to allow control of the screen brightness
+ hardware.brightnessctl.enable = true;
+
+ # setup the user's home
+ home-manager.users."${user}" = (import ./home/profile.nix) args;
+
+ # Sway
+ programs.sway-beta.enable = true;
+ programs.sway-beta.extraSessionCommands = ''
+ # Tell toolkits to use wayland
+ export CLUTTER_BACKEND=wayland
+ #export QT_QPA_PLATFORM=wayland-egl
+ export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
+ export SDL_VIDEODRIVER=wayland
+
+ # Fix krita and other Egl-using apps
+ export LD_LIBRARY_PATH=/run/opengl-driver/lib
+
+ # Disable HiDPI scaling for X apps
+ # https://wiki.archlinux.org/index.php/HiDPI#GUI_toolkits
+ export GDK_SCALE=1
+ export QT_AUTO_SCREEN_SCALE_FACTOR=0
+ '';
+
+ # manage those with home-manager
+ programs.sway-beta.extraPackages = [];
+
+ # Sway doesn't support login managers
+ services.xserver.enable = false;
+
+ # Add the required groups for the user to get access
+ users.extraUsers."${user}" = {
+ extraGroups = [
+ "wheel"
+ "input"
+ "tty"
+ "audio"
+ "video"
+ # allow sway's setuid executable
+ "sway"
+ "networkmanager"
+ # allow sudo
+ "wheel"
+ ];
+ };
+
+}
diff --git a/demo/build-vm.sh b/demo/vm-build.sh
index 71a9ed7..71a9ed7 100755
--- a/demo/build-vm.sh
+++ b/demo/vm-build.sh
diff --git a/demo/vm-run.sh b/demo/vm-run.sh
new file mode 100755
index 0000000..98960f9
--- /dev/null
+++ b/demo/vm-run.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+if [[ ! -e ./result ]]; then
+ echo Run ./vm-build.sh first
+ exit 1
+fi
+
+exec ./result/bin/run-nixos-vm