| Age | Commit message (Collapse) | Author |
|
By default, GDB does not save history. This improves on the default.
* gnu/system/shadow.scm (%default-gdbinit): Add ‘set history’ commands.
(gdb-history-placeholder): New variable.
(default-skeletons): Add it.
Change-Id: Ie3f9c26098066b4bd896b0593546015a1b429209
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Merges: #6559
|
|
This fixes a bug whereby ‘file-exists?’ would be called on tilde-prefixed
directory names before tilde expansion has taken place. As a result,
~/.guix-profile and ~/.guix-home/profile would never be included in
‘debug-file-directory’.
* gnu/system/shadow.scm (%default-gdbinit): Remove call to ‘file-exists?’.
Change-Id: I3a6bf1fec6bfbf208679d030dd6b380b9c6a4789
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
Directories have been supported in skeleton names since
d9ea94dc4487fb668f98e512f96506a5eaf566c2.
* gnu/system/shadow.scm (default-skeletons): Add directories to skeleton names.
(skeleton-directory): Remove special cases of directory creation.
Change-Id: I7918498c2ff115ad8d1f5e3472678da1db8b4f2e
Signed-off-by: Hilton Chain <hako@ultrarare.space>
|
|
The change was automated via:
git grep -l goodoldpaul@autistici.org |
xargs sed -i 's/goodoldpaul@autistici.org/therewasa@fishinthecalculator.me/g'
* .mailmap: New entry.
Change-Id: I1629388334695d221647afe6a14faf61af5fe0d6
Signed-off-by: Maxim Cournoyer <maxim@guixotic.coop>
|
|
This provides more appropriate defaults for today. This change affects
/etc/bashrc, /etc/skel/.bashrc, along with ~/.bashrc for Home users.
* gnu/system/shadow.scm (%default-bashrc): Set ‘HISTSIZE’.
Change-Id: I4ffa7ad75c6f39f3f36d5a15ce420eae52e241e5
|
|
This reverts commit a7db92d9b389cbe565395523882c34c6eff2c21a, this time with
the more careful command, to avoid a world rebuild:
grep -rl --exclude-dir=build --exclude-dir=patches --exclude=ld-wrapper.in \
--exclude=sitecustomize.py --exclude=guix-emacs.el maxim.cournoyer@gmail.com |
xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g'
Change-Id: I0871f5cf9ace79e34e78e24154d0da6ea95a3a91
|
|
This reverts commit d0d87a744d724b7e7d5ac013c586039652087bb3. Oops! This
caused a world rebuild.
Change-Id: I25fff644b2b61d0ee93d69b457b04c72b5b74d15
|
|
The change was automated via:
git grep -l maxim.cournoyer@gmail.com |
xargs sed -i 's/maxim.cournoyer@gmail.com/maxim@guixotic.coop/g'
* .mailmap: New entry.
Change-Id: Iaa88b1e51c94159c49138fb43910badb990eb169
|
|
This allows specifying the following skeleton, for example:
--8<---------------cut here---------------start------------->8---
`((".config/test.txt" ,[...])
--8<---------------cut here---------------end--------------->8---
* gnu/system/shadow.scm (skeleton-directory): Create parent directory for
target.
Change-Id: I49649000bd6cdab9060f057b47a5122b17027f10
|
|
Fixes a regression introduced in c743d646ee9104aa14d066cdf6657a0fac82ebea.
Without this, the fish shell integration is broken, and PATH does not include
~/.config/guix/current/bin.
* gnu/system/shadow.scm (%default-bashrc): Fix return value.
Change-Id: I54170caeef7ae541a4901743fcdcbfb353fa09d4
Signed-off-by: Hilton Chain <hako@ultrarare.space>
Modified-by: Hilton Chain <hako@ultrarare.space>
|
|
This factorizes out the remaining bashrc bits from /etc/skel/.bashrc to a the
template used for both /etc/bashrc on Guix System and ~/.bashrc for
home-bash-service-type.
Rationale: The use of /etc/skel introduce state: the file is only copied
originally when the user account is created, and never (automatically)
refreshed again.
* gnu/system.scm (operating-system-etc-service):
<profile>: Guard against souring /etc/bashrc in non-interactive, SSH case.
<bashrc>: Use %default-bashrc, having migrated the remaining definitions to...
* gnu/system/shadow.scm (%default-bashrc): ... here. Factorize aliases to...
* gnu/services.scm (%default-bash-aliases): ... here.
(%default-bashrc-d-aliases): New variable.
(%default-etc-bashrc-d-files): Include it in the default configuration.
* gnu/services/base.scm (%base-services): Register etc-bashrc-d-service-type.
* gnu/home/services/shells.scm (add-bash-configuration): Do not set PS1, now
part of %default-bashrc.
(home-bash-configuration) [guix-defaults?]: Update doc.
[aliases]: Set %default-bash-aliases as the default value. Update doc.
* doc/guix.texi (Shells Home Services): Update documentation.
(Service Reference): Update example.
Change-Id: I340c614983a78fd20a9c4a9705e7fc542ae9b513
|
|
This causes Bash to treat /etc/bashrc as a startup file, removing the need to
source /etc/bashrc from ~/.bashrc.
* gnu/packages/bash.scm (bash-fixed): New package, with added SYS_BASHRC
define.
(bash) [replacement]: Use it.
* gnu/system/shadow.scm (%default-bashrc): Do not source /etc/bashrc, now done
implicitly.
Change-Id: I5b0afd7d81653ef19c482e5501efdf7e50ef37c0
|
|
* gnu/system/shadow.scm (%base-groups): Add 'sgx' group.
Fixes: <https://issues.guix.gnu.org/70278>
Change-Id: I4f9e3c7751ac11f0c7a4283390223778511494f8
|
|
* gnu/system/shadow.scm (account-shepherd-service): Create
/var/guix/profiles/per-user/$USER in ‘user-homes’ service.
Change-Id: I22e66e8a34d63686df9bae64c68df65c8889e72a
|
|
* gnu/system/shadow.scm (%default-skeleton-home-config): Follow
the news entry’s instructions to add %base-home-services.
Fixes: <https://issues.guix.gnu.org/75897>
Change-Id: Ieef976f9375791502e6156a978a032fbd4c2324d
|
|
This commit adds a Guix System service to handle allocation of subuid
and subgid requests. Users that don't care can just add themselves as a
subid-range and don't need to specify anything but their user name.
Users that care about specific ranges, such as possibly LXD, can specify
a start and a count.
* doc/guix.texi (Miscellaneous Services): Document it.
* gnu/build/activation.scm (activate-subuids+subgids): New variable.
* gnu/local.mk: Add gnu/tests/shadow.scm.
* gnu/system/accounts.scm (sexp->subid-range): New variable.
* gnu/system/shadow.scm (%root-subid): New variable;
(subids-configuration): new record;
(subid-range->gexp): new variable;
(assert-valid-subids): new variable;
(delete-duplicate-ranges): new variable;
(subids-activation): new variable;
(subids-extension): new record;
(append-subid-ranges): new variable;
(subids-extension-merge): new variable;
(subids-service-type): new variable.
* gnu/tests/shadow.scm (subids): New system test.
Change-Id: I3755e1c75771220c74fe8ae5de1a7d90f2376635
Signed-off-by: Giacomo Leidi <goodoldpaul@autistici.org>
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
|
|
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.
|
|
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
|
|
* gnu/system/shadow.scm (%deafult-skeleton-home-config): New variable.
(default-skeletons): Add it.
Change-Id: Ida4cca8b1b3674491a4f18d94bc1b12d426575ba
|
|
* gnu/system/shadow.scm (%default-dotguile): Extract from
default-skeletons, export.
(default-skeletons): Use %default-dotguile.
Change-Id: Ibe91b3b517ae542bd28070a08e14152f87ed75ec
|
|
* gnu/system/shadow.scm (%default-nanorc): Extract from
default-skeletons, export.
(default-skeletons): Use %default-nanorc.
Change-Id: I0d07b13ed4894b1152a08b96d9ef8527dde073ce
|
|
* gnu/system/shadow.scm (%default-gdbinit): Extract from
default-skeletons, export.
(default-skeletons): Use %default-gdbinit.
Change-Id: Ia5188f8083a83ad4cdb96e234dbd730b1bfe0072
|
|
* gnu/system/shadow.scm (%default-xdefaults): Extract from
default-skeletons, export.
(default-skeletons): Use %default-xdefaults.
Change-Id: I44018516ec3687a68d32ca5c86c41bc29507a273
|
|
* gnu/system/shadow.scm (%default-zprofile): Extract from
default-skeletons, export.
(default-skeletons): Use %default-zprofile.
Change-Id: I6c6e158bca2e462a2eae709fbc2c25a2c7f3f8b4
|
|
gnu/system/shadow.scm (%default-bash-profile): Extract from
default-skeletons, export.
(default-skeletons): Use %default-bash-profile.
Change-Id: I45641b1091daee3495a5f92bdc1a63050e0cc59e
|
|
* gnu/system/shadow.scm (%default-bashrc): Add an alias for 'ip' that enables
output colorization.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
|
|
Fixes a regression introduced in
66ecffbeba0685ff2f1071db8aeb2393986afb97.
* gnu/system/shadow.scm (account-service-type)[default-value]: Change to
the empty list.
|
|
* 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.
|
|
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".
|
|
* 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.
|
|
Make it consistent with bash_profile generated by Guix Home.
* gnu/system/shadow.scm (default-skeletons)[bash_profile]: Source .profile in
skeleton bash_profile.
|
|
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.
|
|
* 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.
|
|
|
|
* gnu/system/shadow.scm (account-activation): Delete duplicate (eq?) users
and groups before transforming them to specs and asserting, that names are
unique.
|
|
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 ~%.
|
|
* gnu/system/shadow.scm (assert-unique-account-names)
(assert-unique-group-names): Demote formatted-message to warning.
|
|
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
|
|
*gnu/system/shadow.scm (find-duplicates): New variable.
(assert-unique-account-names, assert-unique-group-names): New variables.
(account-activation): Use them here.
|
|
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.
|
|
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.
|
|
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.
|
|
* 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.
|
|
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.
|
|
* gnu/system/shadow.scm (skeleton-directory): Move .nanorc to
.config/nano/nanorc.
|
|
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
------
|
|
* gnu/system/shadow.scm (default-skeletons): Move .nanorc to
.config/nano/nanorc.
|
|
* gnu/system/shadow.scm (default-skeletons): Remove guile-wm (especially as a
dependency).
|
|
* gnu/system/shadow.scm (account-shepherd-service): Add 'one-shot?'
field. Return #t from 'start'.
|
|
* 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.
|