diff options
author | zimbatm <zimbatm@zimbatm.com> | 2018-11-16 15:40:10 +0100 |
---|---|---|
committer | zimbatm <zimbatm@zimbatm.com> | 2019-01-17 14:36:50 +0100 |
commit | 9433c2d7fecb0e4b0572e45b45e2ba207176effe (patch) | |
tree | 07176633995a8ab8f78502ac03487c4f5634e97f | |
parent | 0c798bb73a2b523919cade797408335db9bc8940 (diff) |
snapshot
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | demo/configuration.nix | 83 | ||||
-rw-r--r-- | demo/profile.nix | 69 | ||||
-rwxr-xr-x | demo/vm-build.sh (renamed from demo/build-vm.sh) | 0 | ||||
-rwxr-xr-x | demo/vm-run.sh | 8 |
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 |