diff --git a/.config/guix/systems/azure.scm b/.config/guix/systems/azure.scm index e06e655..c644dc4 100644 --- a/.config/guix/systems/azure.scm +++ b/.config/guix/systems/azure.scm @@ -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) diff --git a/.config/i3/config b/.config/i3/config index 152886d..dadabbb 100644 --- a/.config/i3/config +++ b/.config/i3/config @@ -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 diff --git a/.nix-channels b/.nix-channels new file mode 100644 index 0000000..f0c6733 --- /dev/null +++ b/.nix-channels @@ -0,0 +1 @@ +https://nixos.org/channels/nixpkgs-unstable nixpkgs diff --git a/.profile b/.profile index 5c93be3..c0a2928 100644 --- a/.profile +++ b/.profile @@ -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 diff --git a/Console.org b/Console.org index 2e95a09..f2b40d4 100644 --- a/Console.org +++ b/Console.org @@ -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 diff --git a/Desktop.org b/Desktop.org index d7fa81f..70d5db5 100644 --- a/Desktop.org +++ b/Desktop.org @@ -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 diff --git a/Guix.org b/Guix.org index 1b719e8..5eadda7 100644 --- a/Guix.org +++ b/Guix.org @@ -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)