aboutsummaryrefslogtreecommitdiff
path: root/gnu/system/shadow.scm
Commit message (Collapse)AuthorAge
* system: default-bash-profile: Add Guix Home search paths as well.Florian Pelz2024-02-28
| | | | | | | Ordinary .guix-profile is searched already. Also this makes desktop environments find packages installed in Guix Home. * gnu/system/shadow.scm (%default-bash-profile): Add Home search paths.
* system: default-zprofile: Sync with home zprofile.Efraim Flashner2024-01-17
| | | | | | | | | The removed fields are already sourced in /etc/profile. * gnu/system/shadow.scm (%default-zprofile): Sync with default zprofile from (gnu home services shells). Change-Id: I419eadf636344e23e8fd2f7006efa81f45527756
* system: Add default guix-home-config.Efraim Flashner2024-01-17
| | | | | | | * gnu/system/shadow.scm (%deafult-skeleton-home-config): New variable. (default-skeletons): Add it. Change-Id: Ida4cca8b1b3674491a4f18d94bc1b12d426575ba
* system: Export default guile config.Efraim Flashner2024-01-17
| | | | | | | | * gnu/system/shadow.scm (%default-dotguile): Extract from default-skeletons, export. (default-skeletons): Use %default-dotguile. Change-Id: Ibe91b3b517ae542bd28070a08e14152f87ed75ec
* system: Export default nanorc.Efraim Flashner2024-01-17
| | | | | | | | * gnu/system/shadow.scm (%default-nanorc): Extract from default-skeletons, export. (default-skeletons): Use %default-nanorc. Change-Id: I0d07b13ed4894b1152a08b96d9ef8527dde073ce
* system: Export default gdbinit.Efraim Flashner2024-01-17
| | | | | | | | * gnu/system/shadow.scm (%default-gdbinit): Extract from default-skeletons, export. (default-skeletons): Use %default-gdbinit. Change-Id: Ia5188f8083a83ad4cdb96e234dbd730b1bfe0072
* system: Export default xdefaults.Efraim Flashner2024-01-17
| | | | | | | | * gnu/system/shadow.scm (%default-xdefaults): Extract from default-skeletons, export. (default-skeletons): Use %default-xdefaults. Change-Id: I44018516ec3687a68d32ca5c86c41bc29507a273
* system: Export default zprofile.Efraim Flashner2024-01-17
| | | | | | | | * gnu/system/shadow.scm (%default-zprofile): Extract from default-skeletons, export. (default-skeletons): Use %default-zprofile. Change-Id: I6c6e158bca2e462a2eae709fbc2c25a2c7f3f8b4
* system: Export default bash-profile.Efraim Flashner2024-01-17
| | | | | | | | gnu/system/shadow.scm (%default-bash-profile): Extract from default-skeletons, export. (default-skeletons): Use %default-bash-profile. Change-Id: I45641b1091daee3495a5f92bdc1a63050e0cc59e
* system: Modify bash skeleton to colorize 'ip' output.Bruno Victal2023-10-06
| | | | | | | * gnu/system/shadow.scm (%default-bashrc): Add an alias for 'ip' that enables output colorization. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* system: account: Fix default value.Ludovic Courtès2023-06-09
| | | | | | | | Fixes a regression introduced in 66ecffbeba0685ff2f1071db8aeb2393986afb97. * gnu/system/shadow.scm (account-service-type)[default-value]: Change to the empty list.
* services: Add default values.Andrew Tropin2023-05-16
| | | | | | * gnu/services.scm (boot-service-type, activation-service-type, etc-service-type, profile-service-type): Add default-value. * gnu/system/shadow.scm (account-service-type): Add default-value.
* system: default-skeletons: Merge search-paths of multiple profiles.宋文武2023-05-12
| | | | | | | Fixes <https://issues.guix.gnu.org/20255>. * gnu/system/shadow.scm (default-skeletons)[bash_profile, zprofile]: Merge search-paths from multiple profiles via "guix package".
* system: Update skeleton gdbinit.Efraim Flashner2023-03-07
| | | | | | * gnu/system/shadow.scm (default-skeleton): Update gdbinit to search for more debug packages in guix-home and the system profile. (skeleton-directory): Move .gdbinit to .config/gdb/gdbinit.
* system: Source .profile in skeleton bash_profile.Andrew Tropin2023-02-08
| | | | | | | Make it consistent with bash_profile generated by Guix Home. * gnu/system/shadow.scm (default-skeletons)[bash_profile]: Source .profile in skeleton bash_profile.
* system: Define default 'PS1' in /etc/bashrc rather than ~/.bashrc.Ludovic Courtès2023-01-05
| | | | | | | | | | | | | | | | Users can override 'PS1' in ~/.bashrc if they wish. Previously, on Guix Home, the "default" 'PS1' would be set in ~/.bashrc when 'home-bash-configuration-guix-defaults?' is true, preventing users from overriding it via the 'environment-variables' field of 'home-bash-extension'. * gnu/system/shadow.scm (%default-bashrc): Remove 'PS1' setting. * gnu/system.scm (operating-system-etc-service): Define PS1 in /etc/bashrc. * gnu/home/services/shells.scm (add-bash-configuration): When 'home-bash-configuration-guix-defaults?' is true, add a default 'PS1' to ~/.bash_profile.
* system, home: Factorize default '.bashrc'.Ludovic Courtès2023-01-05
| | | | | | | | * gnu/system/shadow.scm (%default-bashrc): New variable. Source /etc/bashrc only if it exists. (default-skeletons): Use it. * gnu/home/services/shells.scm (guix-bashrc): Remove. (add-bash-configuration): Refer to '%default-bashrc' instead.
* Merge branch 'master' into core-updatesChristopher Baines2021-02-03
|\
| * services: Do not warn, when duplicate users are eq?.Leo Prikler2021-01-20
| | | | | | | | | | | | * gnu/system/shadow.scm (account-activation): Delete duplicate (eq?) users and groups before transforming them to specs and asserting, that names are unique.
| * shadow: End duplicate warnings with new lines.Leo Prikler2021-01-20
| | | | | | | | | | | | | | | | | | The change from formatted message causes the line to no longer automatically be ended. This will need to be reverted once again, when duplicate names become hard errors. * gnu/system/shadow.scm (assert-unique-account-names) (assert-unique-group-names): End format strings in ~%.
| * Reapply "system: Assert, that user and group names are unique."Leo Prikler2021-01-13
| | | | | | | | | | * gnu/system/shadow.scm (assert-unique-account-names) (assert-unique-group-names): Demote formatted-message to warning.
| * Revert "system: Assert, that user and group names are unique."Jonathan Brielmaier2021-01-12
| | | | | | | | | | | | | | | | This reverts commit a3002104a84c60556b6616d100cb98019e48759d, which breaks certain system configurations like: $ guix system reconfigure config.scm guix system: error: the following groups appear more than once: lp
| * system: Assert, that user and group names are unique.Leo Prikler2021-01-11
| | | | | | | | | | | | *gnu/system/shadow.scm (find-duplicates): New variable. (assert-unique-account-names, assert-unique-group-names): New variables. (account-activation): Use them here.
| * Remove "guile-zlib" extension when unused.Mathieu Othacehe2020-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a follow-up of 755f365b02b42a5d1e8ef3000dadef069553a478. As (zlib) is autoloaded in (gnu build linux-modules), "guile-zlib" is needed as an extension only when it is effectively used. * gnu/installer.scm (installer-program): Remove "guile-zlib" from the extensions. * gnu/machine/ssh.scm (machine-check-initrd-modules): Ditto. * gnu/services.scm (activation-script): Ditto. * gnu/services/base.scm (default-serial-port): Ditto, (agetty-shepherd-service): ditto, (udev-service-type): ditto. * gnu/system/image.scm (gcrypt-sqlite3&co): Ditto. * gnu/system/shadow.scm (account-shepherd-service): Ditto.
| * linux-libre: Support module compression.Mathieu Othacehe2020-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for GZIP compression for linux-libre kernel modules. The initrd modules are kept uncompressed as the initrd is already compressed as a whole. The linux-libre kernel also supports XZ compression, but as Guix does not have any available bindings for now, and the compression time is far more significant, GZIP seems to be a better option. * gnu/build/linux-modules.scm (modinfo-section-contents): Use 'call-with-gzip-input-port' to read from a module file using '.gz' extension, (strip-extension): new procedure, (dot-ko): adapt to support compression, (ensure-dot-ko): ditto, (file-name->module-name): ditto, (find-module-file): ditto, (load-linux-module*): ditto, (module-name->file-name/guess): ditto, (module-name-lookup): ditto, (write-module-name-database): ditto, (write-module-alias-database): ditto, (write-module-device-database): ditto. * gnu/installer.scm (installer-program): Add "guile-zlib" to the extensions. * gnu/machine/ssh.scm (machine-check-initrd-modules): Ditto. * gnu/services.scm (activation-script): Ditto. * gnu/services/base.scm (default-serial-port): Ditto, (agetty-shepherd-service): ditto, (udev-service-type): ditto. * gnu/system/image.scm (gcrypt-sqlite3&co): Ditto. * gnu/system/linux-initrd.scm (flat-linux-module-directory): Add "guile-zlib" to the extensions and make sure that the initrd only contains uncompressed module files. * gnu/system/shadow.scm (account-shepherd-service): Add "guile-zlib" to the extensions. * guix/profiles.scm (linux-module-database): Ditto.
* | system: Modify GDB skeleton to find debug files for any profile.Maxim Cournoyer2020-08-16
|/ | | | | | | | | | | | Instead of hard coding the debug directory to that of the user profile, use Guile scripting in combination with a new search path specification on GDB to specify the debug file directories. * gnu/packages/gdb.scm (gdb-9.1): Add a search path specification for the GDB_DEBUG_FILE_DIRECTORY environment variable. * gnu/system/shadow.scm (default-skeletons)[gdbinit]: Derive the value of DEBUG-FILE-DIRECTORY via the GDB_DEBUG_FILE_DIRECTORY environment variable. * doc/guix.texi (Installing Debugging Files): Document it.
* services: Add descriptions.Ludovic Courtès2020-05-08
| | | | | | | | | | | | | * gnu/services/dbus.scm (polkit-service-type)[description]: New field. * gnu/services/dict.scm (dicod-service-type)[description]: New field. * gnu/services/dns.scm (knot-service-type)[description]: New field. * gnu/services/networking.scm (dhcpd-service-type)[description]: New field. * gnu/services/shepherd.scm (shepherd-root-service-type)[description]: New field. * gnu/services/xorg.scm (slim-service-type)[description]: New field. (screen-locker-service-type)[description]: New field. * gnu/system/pam.scm (pam-root-service-type)[description]: New field. * gnu/system/shadow.scm (account-service-type)[description]: New field.
* services: account: Have 'user-processes' depend on 'user-homes'.Ludovic Courtès2020-04-17
| | | | | | | | | Until now, 'user-homes' happened to start right after 'user-processes' and before services that depend on a home directory but the dependency was not explicit. This addresses it. * gnu/system/shadow.scm (account-service-type): Extend USER-PROCESSES-SERVICE-TYPE.
* system: Move nanorc to XDG_CONFIG_HOME.Efraim Flashner2020-04-01
| | | | | * gnu/system/shadow.scm (skeleton-directory): Move .nanorc to .config/nano/nanorc.
* Revert "system: Move nanorc to XDG_CONFIG_HOME."Leo Famulari2020-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit bd71818df31364bbd04f3f13b3bbb251636748b4. This changed caused system reconfiguration to fail like this: ------ building /gnu/store/y1x8asbzw624ywgkpin35p1i4bqnyfy2-skel.drv... Backtrace: 4 (primitive-load "/gnu/store/2x7d0jsbgf2ndb5fsk0nj07rhsx?") In ice-9/eval.scm: 619:8 3 (_ #f) In ice-9/boot-9.scm: 260:13 2 (for-each #<procedure 7ffff6ad8100 at ice-9/eval.scm:3?> ?) In guix/build/utils.scm: 343:27 1 (_ "/gnu/store/ajrgkj1s9vdcq00drn703f4zj9dvfrsv-nanorc" ?) In unknown file: 0 (copy-file "/gnu/store/ajrgkj1s9vdcq00drn703f4zj9dvfrs?" ?) ERROR: In procedure copy-file: In procedure copy-file: No such file or directory `/gnu/store/v1grsca743phw41lyf63dzmh9nz5jlpn-bash_profile' -> `.bash_profile' `/gnu/store/xdsaw0mj6axj427hyi6ysrnsxi21n7d5-bashrc' -> `.bashrc' `/gnu/store/6i0b236dyar78zc5k5hrj5dv3vr4zb9w-zprofile' -> `.zprofile' `/gnu/store/ajrgkj1s9vdcq00drn703f4zj9dvfrsv-nanorc' -> `.config/nano/nanorc' builder for `/gnu/store/y1x8asbzw624ywgkpin35p1i4bqnyfy2-skel.drv' failed with exit code 1 ------
* system: Move nanorc to XDG_CONFIG_HOME.Efraim Flashner2020-03-30
| | | | | * gnu/system/shadow.scm (default-skeletons): Move .nanorc to .config/nano/nanorc.
* gnu: system: Remove guile-wm from skeleton.Jan Nieuwenhuizen2020-03-19
| | | | | * gnu/system/shadow.scm (default-skeletons): Remove guile-wm (especially as a dependency).
* services: account: Make 'user-homes' a one-shot service.Ludovic Courtès2019-04-23
| | | | | * gnu/system/shadow.scm (account-shepherd-service): Add 'one-shot?' field. Return #t from 'start'.
* activation: Build account databases with (gnu build accounts).Ludovic Courtès2019-03-07
| | | | | | | | | | | * gnu/build/activation.scm (enumerate, current-users, current-groups) (add-group, add-user, modify-user, ensure-user): Remove. (activate-users+groups)[touch, activate-user]: Remove. [make-home-directory]: New procedure. Rewrite in terms of 'user+group-databases', 'write-group', etc. * gnu/build/install.scm (directives): Remove "/root". * gnu/system/shadow.scm (account-activation): Remove (setenv "PATH" ...) expression, which is now unneeded.
* activation: Operate on <user-account> and <user-group> records.Ludovic Courtès2019-03-07
| | | | | | | | | | | | * gnu/system/accounts.scm (sexp->user-group, sexp->user-account): New procedures. * gnu/system/shadow.scm (account-activation): Call them in the arguments to 'activate-users+groups'. (account-shepherd-service): Likewise. * gnu/build/activation.scm (activate-users+groups): Expect a list of <user-account> and a list of <user-group>. Replace uses of 'match' on tuples with calls to record accessors. (activate-user-home): Likewise.
* system: Add (gnu system accounts).Ludovic Courtès2019-03-07
| | | | | | | | | | The (gnu system accounts) module is meant to be used both on the build- and on the host-side. * gnu/system/shadow.scm <top level>: Call 'default-shell'. (<user-account>, <user-group>): Move to... * gnu/system/accounts.scm: ... here. New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add system/accounts.scm.
* system: Rename .zlogin to .zprofile.Chris Marusich2018-10-19
| | | | | | Reported by Meiyo Peng <meiyo.peng@gmail.com>. * gnu/system/shadow.scm (default-skeletons): Rename zlogin to zprofile.
* system: '.guile' skeleton now recommends 'guile-colorized'.Ludovic Courtès2018-07-23
| | | | | * gnu/system/shadow.scm (default-skeletons)[".guile"]: Recommend 'guile-colorized'.
* Don't force colour in aliases.Tobias Geerinckx-Rice2018-07-05
| | | | | | | * gnu/system/shadow.scm (default-skeletons): Substitute ‘--color=auto’ for ‘--color’ (which implies ‘=always’) in aliases. * doc/guix.texi (G-Expressions): Also adjust examples as that makes more sense.
* system: Default .bashrc now sources /etc/bashrc.Ludovic Courtès2018-06-11
| | | | | | | | | | This is a followup to commit 1382bde93c3ccb5be6b846b932edd7707fac1a3e, which disabled automatic sourcing of /etc/bashrc by interactive shell. The noticeable effect of the change would be that Bash completion would only work in login shells. * gnu/system/shadow.scm (default-skeletons)["bashrc"]: Source /etc/bashrc.
* system: Add default '.nanorc' with syntax highlighting.Ludovic Courtès2018-04-04
| | | | * gnu/system/shadow.scm (default-skeletons): Add ".nanorc".
* Merge branch 'master' into core-updatesLeo Famulari2018-01-11
|\
| * system: Extend .gdbinit to authorize extensions from /gnu/store/*/lib.Ludovic Courtès2018-01-09
| | | | | | | | | | * gnu/system/shadow.scm (default-skeletons)["gdbinit"]: Add 'auto-load safe-path' statement.
* | gnu: guile: Move Readline support to a separate 'guile-readline' package.Ludovic Courtès2017-12-08
|/ | | | | | | | | | | This reduces the closure of Guile from 131 MiB to 116 MiB and removes extra readline/ncurses builds from the bootstrap path. * gnu/packages/guile.scm (guile-2.0)[inputs]: Remove READLINE. (make-guile-readline): New procedure. (guile-readline): New variable. * gnu/system/shadow.scm (default-skeletons): Adjust '.guile' so that it gracefully deals with missing (ice-9 readline).
* system: Return early in skeleton '.bashrc' when the shell is non-interactive.Marius Bakke2017-11-01
| | | | * gnu/system/shadow.scm (default-skeletons)[bashrc]: Add return statement.
* system: Test for interactive shell instead of `cat` in skeleton '.bashrc'.Marius Bakke2017-11-01
| | | | | * gnu/system/shadow.scm (default-skeletons)[bashrc]: Wrap $SSH_CLIENT test in a conditional testing for interactive shell.
* system: Add 'grep --color' alias in '.bash_profile' skeleton.Ludovic Courtès2017-07-27
| | | | * gnu/system/shadow.scm (default-skeletons)[profile]: Add 'grep' alias.
* system: Add a default '.guile' skeleton.Ludovic Courtès2017-07-25
| | | | * gnu/system/shadow.scm (default-skeletons): Add ".guile".
* system: Refer to native packages when appropriate.Ludovic Courtès2017-07-11
| | | | | * gnu/system/locale.scm (localedef-command): Use the native LIBC. * gnu/system/shadow.scm (default-skeletons): Use the native GUILE-WM.
* ui: Rename '_' to 'G_'.Ludovic Courtès2017-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This avoids collisions with '_' when the latter is used as a 'match' pattern for instance. See <https://lists.gnu.org/archive/html/guix-devel/2017-04/msg00464.html>. * guix/ui.scm: Rename '_' to 'G_'. * po/guix/Makevars (XGETTEXT_OPTIONS): Adjust accordingly. * build-aux/compile-all.scm (warnings): Remove 'format'. * gnu/packages.scm, gnu/services.scm, gnu/services/shepherd.scm, gnu/system.scm, gnu/system/shadow.scm, guix/gnupg.scm, guix/http-client.scm, guix/import/cpan.scm, guix/import/elpa.scm, guix/import/pypi.scm, guix/nar.scm, guix/scripts.scm, guix/scripts/archive.scm, guix/scripts/authenticate.scm, guix/scripts/build.scm, guix/scripts/challenge.scm, guix/scripts/container.scm, guix/scripts/container/exec.scm, guix/scripts/copy.scm, guix/scripts/download.scm, guix/scripts/edit.scm, guix/scripts/environment.scm, guix/scripts/gc.scm, guix/scripts/graph.scm, guix/scripts/hash.scm, guix/scripts/import.scm, guix/scripts/import/cpan.scm, guix/scripts/import/cran.scm, guix/scripts/import/crate.scm, guix/scripts/import/elpa.scm, guix/scripts/import/gem.scm, guix/scripts/import/gnu.scm, guix/scripts/import/hackage.scm, guix/scripts/import/nix.scm, guix/scripts/import/pypi.scm, guix/scripts/import/stackage.scm, guix/scripts/lint.scm, guix/scripts/offload.scm, guix/scripts/pack.scm, guix/scripts/package.scm, guix/scripts/perform-download.scm, guix/scripts/publish.scm, guix/scripts/pull.scm, guix/scripts/refresh.scm, guix/scripts/size.scm, guix/scripts/substitute.scm, guix/scripts/system.scm, guix/ssh.scm, guix/upstream.scm: Use 'G_' instead of '_'. Most of this change was obtained by running: "sed -i -e's/(_ "/(G_ "/g' `find -name \*.scm`".