feat(guix): install nix for now

This commit is contained in:
Pavel Korytov 2021-06-18 18:13:55 +03:00
parent 7d61969160
commit a37ab00e9b
7 changed files with 41 additions and 7 deletions

View file

@ -16,12 +16,13 @@
(use-modules (nongnu packages linux))
(use-modules (nongnu system linux-initrd))
(use-service-modules desktop networking ssh xorg)
(use-service-modules desktop networking ssh xorg nix)
(use-package-modules ssh)
(define %my-base-services
(cons*
(service openssh-service-type)
(extra-special-file "/lib64/ld-linux-x86-64.so.2" (file-append glibc "/lib/ld-linux-x86-64.so.2"))
(service nix-service-type)
(modify-services %desktop-services
(network-manager-service-type config =>
(network-manager-configuration (inherit config)

View file

@ -294,7 +294,7 @@ bindsym $mod+semicolon mode "apps"
mode "apps" {
bindsym Escape mode "default"
bindsym b exec firefox; mode default
bindsym v exec vk-messenger; mode default
bindsym v exec vk; mode default
bindsym s exec "flatpak run com.slack.Slack"; mode default;
bindsym d exec "flatpak run com.discordapp.Discord"; mode default;
bindsym m exec "alacritty -e ncmpcpp"; mode default
@ -391,7 +391,7 @@ exec --no-startup-id nm-applet
# Stuff
# exec aw-qt
# exec "bash ~/bin/aw-start"
# exec shepherd
exec shepherd
# exec "vnstatd -d"
exec dunst
# exec kde-connect-indicator

1
.nix-channels Normal file
View file

@ -0,0 +1 @@
https://nixos.org/channels/nixpkgs-unstable nixpkgs

View file

@ -27,13 +27,19 @@ done
# Guix settings:1 ends here
# [[file:Console.org::*Guix settings][Guix settings:2]]
export GUIX_PACKAGE_PATH=~/guix-packages
if [ -f /run/current-system/profile/etc/profile.d/nix.sh ]; then
. /run/current-system/profile/etc/profile.d/nix.sh
fi
# Guix settings:2 ends here
# [[file:Console.org::*Guix settings][Guix settings:3]]
export XDG_DATA_DIRS="$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share"
export GUIX_PACKAGE_PATH=~/guix-packages
# Guix settings:3 ends here
# [[file:Console.org::*Guix settings][Guix settings:4]]
export XDG_DATA_DIRS="$XDG_DATA_DIRS:$HOME/.local/share/flatpak/exports/share"
# Guix settings:4 ends here
# [[file:Console.org::*XResources][XResources:1]]
xrdb ~/.Xresources
# XResources:1 ends here

View file

@ -72,6 +72,13 @@ for i in $GUIX_EXTRA_PROFILES/*; do
done
#+end_src
Enable Nix
#+begin_src sh
if [ -f /run/current-system/profile/etc/profile.d/nix.sh ]; then
. /run/current-system/profile/etc/profile.d/nix.sh
fi
#+end_src
Set a folder for my packages.
#+begin_src sh
export GUIX_PACKAGE_PATH=~/guix-packages

View file

@ -544,7 +544,7 @@ bindsym $mod+semicolon mode "apps"
mode "apps" {
bindsym Escape mode "default"
bindsym b exec firefox; mode default
bindsym v exec vk-messenger; mode default
bindsym v exec vk; mode default
bindsym s exec "flatpak run com.slack.Slack"; mode default;
bindsym d exec "flatpak run com.discordapp.Discord"; mode default;
bindsym m exec "alacritty -e ncmpcpp"; mode default
@ -2113,6 +2113,23 @@ flatpak install --user flathub com.discordapp.Discord
flatpak install --user flathub us.zoom.Zoom
flatpak install --user flathub com.slack.Slack
#+end_example
** Nix
I probably should've used nix, as almost every program I packaged so far exists in the Nix repo.
But it's easy enough to use Nix on Guix.
#+begin_src conf :tangle ~/.nix-channels
https://nixos.org/channels/nixpkgs-unstable nixpkgs
#+end_src
Don't forget to run the following after the first installation:
#+begin_src sh
nix-channel --update
#+end_src
Installing packages:
#+begin_src
nix-env -i vk-messenger
#+end_src
* Services
:PROPERTIES:
:header-args+: :tangle ~/.config/shepherd/init.scm

View file

@ -164,7 +164,7 @@ Common modules:
(use-modules (nongnu packages linux))
(use-modules (nongnu system linux-initrd))
(use-service-modules desktop networking ssh xorg)
(use-service-modules desktop networking ssh xorg nix)
(use-package-modules ssh)
#+end_src
@ -238,12 +238,14 @@ Base packages, necessary right after the installation.
Default services for each machine:
- override the default =%desktop-services= to add OpenVPN support
- add nix service
- add a symlink to ELF interpeter to where most Linux binaries expect it
#+begin_src scheme :tangle no :noweb-ref system-common
(define %my-base-services
(cons*
(service openssh-service-type)
(extra-special-file "/lib64/ld-linux-x86-64.so.2" (file-append glibc "/lib/ld-linux-x86-64.so.2"))
(service nix-service-type)
(modify-services %desktop-services
(network-manager-service-type config =>
(network-manager-configuration (inherit config)