]> git.ekhem.eu.org Git - guix.git/log
guix.git
16 months ago[bash] Source `.profile`.
Jakub Czajka [Thu, 22 Dec 2022 17:48:30 +0000 (18:48 +0100)]
[bash] Source `.profile`.

Guix puts its environment variables inside `.profile`. However, it is
not sourced automatically. This commit sources it in `.bash_profile`.

16 months agoRemove unused files with `make clean`.
Jakub Czajka [Sat, 30 Jul 2022 18:43:41 +0000 (20:43 +0200)]
Remove unused files with `make clean`.

16 months ago[system] Initialize configuration.
Jakub Czajka [Mon, 11 Jul 2022 18:07:57 +0000 (20:07 +0200)]
[system] Initialize configuration.

`guix system` installs a whole GNU/Linux system configuration. This
commit adds a basic configuration with the GNOME desktop.

16 months ago[home] Do not save `less` history.
Jakub Czajka [Sat, 4 Jun 2022 20:28:07 +0000 (22:28 +0200)]
[home] Do not save `less` history.

By default `less` remembers commands issued by the user.

16 months ago[home] Install `git`.
Jakub Czajka [Sat, 4 Jun 2022 19:47:22 +0000 (21:47 +0200)]
[home] Install `git`.

This commit adds a guix-home service which installs `git` and its
dotfile. See git(1) for explaination of the dotfile structure and its
location.

16 months ago[home] Install programs using a service.
Jakub Czajka [Sat, 4 Jun 2022 19:43:12 +0000 (21:43 +0200)]
[home] Install programs using a service.

This commit adds a service-type for installing programs and symlinking
their dotifles.

16 months ago[home] Symlink dotfiles using a service.
Jakub Czajka [Fri, 3 Jun 2022 20:49:56 +0000 (22:49 +0200)]
[home] Symlink dotfiles using a service.

This commit adds a custom service-type for symlinking files. It uses
it to symlink profile.d scripts.

16 months ago[home] Specify bash dotfiles as strings.
Jakub Czajka [Fri, 3 Jun 2022 20:38:39 +0000 (22:38 +0200)]
[home] Specify bash dotfiles as strings.

This commit changes bash dotfiles argument type from `local-file` to
`string`. Hide the `local-file` as an implementation detail.

16 months agoLoad tags as a capf.
Jakub Czajka [Fri, 3 Jun 2022 18:10:58 +0000 (20:10 +0200)]
Load tags as a capf.

Completion at point functions extend the completion at point
mechanism. This commit enables `tags-completion-at-point-function` and
points it to the TAGS table. It is loaded as a directory local
variable.

16 months agoIgnore the TAGS file.
Jakub Czajka [Fri, 3 Jun 2022 17:58:40 +0000 (19:58 +0200)]
Ignore the TAGS file.

TAGS is an output file for `etags` tag tables. Tag tables may be large
and may change over time. It is better to regenerate them instead of
tracking with `git'. This commit adds TAGS to .gitignore.

16 months agoPreserve `guix home` and `etags` instructions in a Makefile.
Jakub Czajka [Fri, 3 Jun 2022 17:52:49 +0000 (19:52 +0200)]
Preserve `guix home` and `etags` instructions in a Makefile.

16 months ago[home] Customize the bash service.
Jakub Czajka [Thu, 2 Jun 2022 21:49:35 +0000 (23:49 +0200)]
[home] Customize the bash service.

This commit adds a custom service-type for installing bash. It is
placed in a separate module. It explicitly requires .bash_profile and
.bashrc.

16 months ago[bash] Avoid sourcing .bash_profile in .bashrc.
Jakub Czajka [Mon, 30 May 2022 07:24:20 +0000 (09:24 +0200)]
[bash] Avoid sourcing .bash_profile in .bashrc.

.bashrc is sourced by interactive non-login shells. However, these
shells are run in an environment that was started through a login
shell. Therefore, an interactive non-login shell should have inherited
environment variables created by a login shell in .bash_profile.

16 months ago[bash] Define XDG base directories.
Jakub Czajka [Sat, 28 May 2022 15:44:37 +0000 (17:44 +0200)]
[bash] Define XDG base directories.

XDG base directory standard [1] defines environment variables with
important paths in user home directory. For example, XDG_CONFIG_HOME
points to a directory with configuration files.

Many programs respect the XDG base directory specification. For
example, git looks for it dotfile as either $HOME/.gitconfig or
$XDG_CONFIG_HOME/git/config. Therefore, XDG environment variables
should be defined early during startup.

This commit adds 10-xdg.sh which defines XDG base directory
variables. Prefix '10-' ensures that the files will be sourced by
~/.profile before other files in ~/.config/profile.d.

[1] https://specifications.freedesktop.org/basedir-spec

16 months ago[home] Install bash and symlink its dotfiles.
Jakub Czajka [Sun, 29 May 2022 20:49:48 +0000 (22:49 +0200)]
[home] Install bash and symlink its dotfiles.

`home-bash-service-type` installs bash. This commit configures the
service through `home-bash-configuration` to symlink .bashrc and
.bash_profile.

16 months ago[bash] Define dotfiles.
Jakub Czajka [Sun, 29 May 2022 20:23:22 +0000 (22:23 +0200)]
[bash] Define dotfiles.

Shells are command line interpreter for UNIX systems. These shells can
operate in one of three modes: interactive, non-interactive or
login. Login mode starts with a login prompt. After that it works
similarly to either interactive or non-interactive mode.

~/.bash_profile is the dotfile for bash in the login mode. It sources
program-specific *.sh profiles in {XDG_CONFIG_HOME}/profile.d. This
mimics behaviour of /etc/profile, the global shell dotfile.

~/,bashrc is the dotfile for bash in the interactive mode.

16 months ago[home] Initialize configuration.
Jakub Czajka [Sat, 28 May 2022 16:25:31 +0000 (18:25 +0200)]
[home] Initialize configuration.

This commit adds a basic home directory configuration which returns an
empty home-environment object.

16 months agoDescribe the repository in a README.
Jakub Czajka [Mon, 1 May 2023 20:35:41 +0000 (22:35 +0200)]
Describe the repository in a README.