Compare commits

...

8 Commits

9 changed files with 213 additions and 99 deletions

View File

@ -1,85 +0,0 @@
(use-modules (gnu)
((gnu packages anthy) #:select (anthy))
((gnu packages certs) #:select (nss-certs))
((gnu packages gnome) #:select (gvfs))
((gnu packages file-systems) #:select (davfs2))
((gnu packages ibus) #:select (ibus ibus-anthy))
((gnu packages wm) #:select (i3-wm))
((gnu services desktop) #:select (xfce-desktop-service-type %desktop-services))
((gnu services xorg) #:select (set-xorg-configuration xorg-configuration))
(gnu system))
(use-modules (nongnu packages linux)
(nongnu system linux-initrd))
(define %utils
(list anthy davfs2 gvfs i3-wm ibus ibus-anthy nss-certs))
(define (my-services keyboard-layout)
(append
(list
(service xfce-desktop-service-type)
(set-xorg-configuration
(xorg-configuration (keyboard-layout keyboard-layout))))
(modify-services %desktop-services
(guix-service-type config =>
(guix-configuration
(inherit config)
(substitute-urls
(cons* "https://substitutes.nonguix.org"
%default-substitute-urls))
(authorized-keys
(cons* (local-file "./nonguix.key.pub")
%default-authorized-guix-keys)))))))
(operating-system
(locale "fr_FR.utf8")
(timezone "Europe/Paris")
(keyboard-layout (keyboard-layout "fr" "bepo" #:options '("ctrl:swapcaps")))
(host-name "rose")
(users (cons* (user-account
(name "kook")
(comment "Grou-grou")
(group "users")
(home-directory "/home")
(supplementary-groups
'("wheel" "netdev" "audio" "video" "kvm")))
%base-user-accounts))
(packages
(append
%utils
%base-packages))
(services (my-services keyboard-layout))
(kernel linux)
(initrd microcode-initrd)
(firmware (list linux-firmware))
(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
(targets '("/boot/efi"))
(keyboard-layout keyboard-layout)))
(mapped-devices
(list (mapped-device
(source (uuid "c896e07f-d2ed-4390-8ce0-b82080d1bdc2"))
(target "HOME")
(type luks-device-mapping))))
(file-systems
(cons* (file-system
(mount-point "/")
(device (uuid "60c115b5-08f2-435b-95e5-d3b81ffba4f4" 'ext4))
(type "ext4"))
(file-system
(mount-point "/home")
(device (uuid "73dc31f8-844d-4a87-bf54-4fb86a49469c" 'ext4))
(type "ext4")
(dependencies mapped-devices))
(file-system
(mount-point "/boot/efi")
(device (uuid "545B-970F" 'fat32))
(type "vfat"))
(file-system
(mount-point "/tmp")
(device "tmpfs")
(type "tmpfs")
(check? #f)
(options "size=50%"))
%base-file-systems)))

1
files/authorized_keys Normal file
View File

@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGOChJhdXFjPLFb218mVPSD9IsL7kyHqFdh/u2qcyJsjc5hFNPdnTvHHjQhsX33PaA5IfKM830AziWX/pwnePQQHR1nfw8knEpQaCNPmmHLQkepTeHlXKdSIXrv5fa9I27AWH+8NtAtJIY1F8jbEAGWXF8F6p8vZLybEljsmVOygWrkQmKtmYn/aOo+R7DlX4SnBfXmqWkzoilgI9FmNfaomv6FeU9VVQtemO4XPz/PMIYYvUNCJ2zaVbjNBmA6ZhHmZf3XlK4swnMW49Py2HboKs/MXLPpfwfU+KlLXYUs2wAtL+UFK/6/IUcIpaFdfTid183KQ07jf+uxtpUTEVT kook@burra

6
nonguix.signing-key.scm Normal file
View File

@ -0,0 +1,6 @@
(public-key
(ecc
(curve Ed25519)
(q #C1FD53E5D4CE971933EC50C9F307AE2171A2D3B52C804642A7A35F84F3A4EA98#)
)
)

View File

@ -1,4 +1,5 @@
(use-modules (gnu packages admin) (use-modules (gnu packages admin)
(gnu packages audio)
(gnu packages chromium) (gnu packages chromium)
(gnu packages compression) (gnu packages compression)
(gnu packages commencement) (gnu packages commencement)
@ -7,6 +8,7 @@
(gnu packages fonts) (gnu packages fonts)
(gnu packages gnome) (gnu packages gnome)
(gnu packages gnome-xyz) (gnu packages gnome-xyz)
(gnu packages gnuzilla)
(gnu packages haskell) (gnu packages haskell)
(gnu packages haskell-xyz) (gnu packages haskell-xyz)
(gnu packages libreoffice) (gnu packages libreoffice)
@ -23,40 +25,50 @@
(gnu packages vim) (gnu packages vim)
(gnu packages virtualization) (gnu packages virtualization)
(gnu packages wm) (gnu packages wm)
(gnu packages web)
(gnu packages xfce) (gnu packages xfce)
(gnu packages xorg)) (gnu packages xorg)
(loom packages eyecandy)
(loom packages music))
(define %desktop (define %desktop
(list (list
arc-icon-theme arc-icon-theme
arc-theme arc-theme
claws-mail audacious-gtk
evince evince
font-google-noto
font-openmoji font-openmoji
gcc-toolchain font-sarasa-gothic
ghc
git
;guide
htop htop
mplayer mplayer
nitrogen nitrogen
openssh
pavucontrol pavucontrol
pragha
pwgen pwgen
recutils recutils
rsync
tmux tmux
ungoogled-chromium toon-cursors
unzip unzip
vim-full vim-full
vim-solarized vim-solarized
xarchiver xarchiver
xfce4-screenshooter xfce4-screenshooter
xrandr xrandr
yaru-theme
zip)) zip))
(define %dev
(list
gcc-toolchain
ghc
git
jq))
(define %web
(list
claws-mail
icecat-minimal
ungoogled-chromium))
(define %heavy (define %heavy
(list (list
libreoffice libreoffice
@ -64,10 +76,22 @@
pandoc pandoc
qemu)) qemu))
(define %network (define %network
(list (list
curl curl
netcat)) netcat
openssh
rsync))
(packages->manifest (append %desktop %heavy %network)) (define %studio
(list
amsynth
audacity
calf
hydrogen
jack-1
lilypond
qjackctl
setbfree
sooperlooper
yoshimi))

3
pine.packages.scm Normal file
View File

@ -0,0 +1,3 @@
(load "packages.scm")
(packages->manifest (append %desktop %dev %heavy %network %studio %web))

36
pine.system.scm Normal file
View File

@ -0,0 +1,36 @@
(use-modules (gnu)
(gnu services desktop)
(gnu services ssh)
(gnu system))
(use-modules (nongnu packages linux)
(nongnu system linux-initrd))
(load "system.scm")
(let ((os (install-to (uuid "a942a6ac-012a-46c5-984e-5f53532a3253" 'ext4))))
(operating-system
(inherit os)
(host-name "pine")
(services
(append
(list
(pam-mount "kook" "/dev/md0")
pam-audio
(ssh-only `(("kook" ,(local-file "files/authorized_keys")))))
(desktop-environment (operating-system-keyboard-layout os))
(nonguix %desktop-services)))
(kernel linux)
(initrd microcode-initrd)
(firmware (list linux-firmware))
(mapped-devices
(list (mapped-device
(source (list "/dev/sdb" "/dev/sdc"))
(target "/dev/md0")
(type raid-device-mapping))
))
(file-systems
(cons* (file-system
(mount-point "/boot/efi")
(device (uuid "7974-61F4" 'fat32))
(type "vfat"))
(operating-system-file-systems os)))))

3
rose.packages.scm Normal file
View File

@ -0,0 +1,3 @@
(load "packages.scm")
(packages->manifest (append %desktop %dev %heavy %network %studio %web))

30
rose.system.scm Normal file
View File

@ -0,0 +1,30 @@
(use-modules (gnu)
(gnu services desktop)
(gnu system))
(use-modules (nongnu packages linux)
(nongnu system linux-initrd))
(load "system.scm")
(let ((os (install-to (uuid "60c115b5-08f2-435b-95e5-d3b81ffba4f4" 'ext4))))
(operating-system
(inherit os)
(host-name "rose")
(services
(append
(list
(pam-mount
"kook"
"/dev/disk/by-uuid/c896e07f-d2ed-4390-8ce0-b82080d1bdc2")
pam-audio)
(desktop-environment (operating-system-keyboard-layout os))
(nonguix %desktop-services)))
(kernel linux)
(initrd microcode-initrd)
(firmware (list linux-firmware))
(file-systems
(cons* (file-system
(mount-point "/boot/efi")
(device (uuid "545B-970F" 'fat32))
(type "vfat"))
(operating-system-file-systems os)))))

96
system.scm Normal file
View File

@ -0,0 +1,96 @@
(use-modules (gnu)
((gnu packages anthy) #:select (anthy))
((gnu packages certs) #:select (nss-certs))
((gnu packages gnome) #:select (gvfs))
((gnu packages file-systems) #:select (davfs2))
((gnu packages ibus) #:select (ibus ibus-anthy))
((gnu packages wm) #:select (i3-wm))
((gnu services desktop) #:select (xfce-desktop-service-type))
((gnu services pam-mount) #:select (pam-mount-service-type pam-mount-configuration))
((gnu services xorg) #:select (set-xorg-configuration xorg-configuration))
(gnu system))
(define %utils
(list anthy davfs2 gvfs i3-wm ibus ibus-anthy nss-certs))
(define (install-to root-fs)
(operating-system
(locale "fr_FR.utf8")
(timezone "Europe/Paris")
(keyboard-layout (keyboard-layout "fr" "bepo" #:options '("ctrl:swapcaps")))
(host-name "stub")
(users (cons* (user-account
(name "kook")
(comment "Grou-grou")
(group "users")
(home-directory "/home")
(supplementary-groups
'("wheel" "netdev" "audio" "video" "kvm")))
%base-user-accounts))
(packages
(append %utils %base-packages))
(bootloader
(bootloader-configuration
(bootloader grub-efi-bootloader)
(targets '("/boot/efi"))
(keyboard-layout keyboard-layout)))
(file-systems
(cons (file-system
(mount-point "/")
(device root-fs)
(type "ext4"))
%base-file-systems))))
(define pam-audio
(service pam-limits-service-type
(list
(pam-limits-entry "@audio" 'both 'rtprio 99)
(pam-limits-entry "@audio" 'both 'memlock 'unlimited))))
(define (pam-mount userName device)
(service pam-mount-service-type
(pam-mount-configuration
(rules `((debug (@ (enable "0")))
(volume (@ (user ,userName)
(fstype "crypt")
(path ,device)
(mountpoint "/home/")))
(mntoptions (@ (allow ,(string-join
'("nosuid" "nodev" "loop"
"encryption" "fsck" "nonempty"
"allow_root" "allow_other")
","))))
(mntoptions (@ (require "nosuid,nodev")))
(logout (@ (wait "0")
(hup "0")
(term "no")
(kill "no")))
(mkmountpoint (@ (enable "1")
(remove "false"))))))))
(define (desktop-environment keyboard-layout)
(list
(service xfce-desktop-service-type)
(set-xorg-configuration
(xorg-configuration (keyboard-layout keyboard-layout)))))
(define (ssh-only authorized-keys)
(service openssh-service-type
(openssh-configuration
(password-authentication? #f)
(permit-root-login #f)
(authorized-keys authorized-keys))))
(define nonguix
(lambda (services)
(modify-services services
(guix-service-type
config =>
(guix-configuration
(inherit config)
(substitute-urls
(append (list "https://substitutes.nonguix.org")
%default-substitute-urls))
(authorized-keys
(append (list (local-file "./nonguix.signing-key.scm"))
%default-authorized-guix-keys)))))))