]> git.ekhem.eu.org Git - guix.git/log
guix.git
20 months ago[emacs] Append date when inserting calendar event.
Jakub Czajka [Sun, 21 Apr 2024 10:41:41 +0000 (12:41 +0200)]
[emacs] Append date when inserting calendar event.

If the date is not present, org-gcal appends it. However, it requires
full date+time timestamp specification which is not always
appropriate.

20 months ago[emacs] Format conf-calendar.el.
Jakub Czajka [Sun, 21 Apr 2024 10:41:16 +0000 (12:41 +0200)]
[emacs] Format conf-calendar.el.

23 months ago[emacs] Do not archive calendar entries.
Jakub Czajka [Sat, 10 Feb 2024 12:17:24 +0000 (13:17 +0100)]
[emacs] Do not archive calendar entries.

23 months ago[emacs] Do not append Message-Id to emails.
Jakub Czajka [Sun, 14 Jan 2024 13:48:44 +0000 (14:48 +0100)]
[emacs] Do not append Message-Id to emails.

2 years agoSpecify full log-file path.
Jakub Czajka [Thu, 7 Dec 2023 19:52:49 +0000 (20:52 +0100)]
Specify full log-file path.

XDG_LOG_HOME is no longer available when shephard starts.

2 years ago[emacs] Install binutils as a dependency for gcal.
Jakub Czajka [Sat, 2 Dec 2023 13:33:39 +0000 (14:33 +0100)]
[emacs] Install binutils as a dependency for gcal.

2 years ago[suckless] Update commits after switching branches to main.
Jakub Czajka [Sat, 14 Oct 2023 20:57:22 +0000 (22:57 +0200)]
[suckless] Update commits after switching branches to main.

2 years ago[emacs] Fix use-package failing to load packages.
Jakub Czajka [Wed, 9 Aug 2023 06:37:42 +0000 (08:37 +0200)]
[emacs] Fix use-package failing to load packages.

2 years ago[emacs] Use org-roam from installed externally.
Jakub Czajka [Tue, 8 Aug 2023 18:43:35 +0000 (20:43 +0200)]
[emacs] Use org-roam from installed externally.

2 years agoUninstall stow.
Jakub Czajka [Sat, 17 Jun 2023 20:09:05 +0000 (22:09 +0200)]
Uninstall stow.

2 years agoInstall icecat-minimal.
Jakub Czajka [Sat, 17 Jun 2023 13:10:45 +0000 (15:10 +0200)]
Install icecat-minimal.

2 years ago[emacs] Connect calfw to Google Calendar API.
Jakub Czajka [Fri, 2 Jun 2023 17:25:57 +0000 (19:25 +0200)]
[emacs] Connect calfw to Google Calendar API.

2 years ago[emacs] Install `notmuch` extensions.
Jakub Czajka [Fri, 2 Jun 2023 17:02:31 +0000 (19:02 +0200)]
[emacs] Install `notmuch` extensions.

2 years ago[emacs] Use `mbsync` from `PATH`.
Jakub Czajka [Fri, 2 Jun 2023 17:01:47 +0000 (19:01 +0200)]
[emacs] Use `mbsync` from `PATH`.

2 years ago[emacs] Initialize environment variable for `notmuch`.
Jakub Czajka [Fri, 2 Jun 2023 17:01:11 +0000 (19:01 +0200)]
[emacs] Initialize environment variable for `notmuch`.

2 years ago[notmuch] Add refresh script.
Jakub Czajka [Fri, 2 Jun 2023 16:58:42 +0000 (18:58 +0200)]
[notmuch] Add refresh script.

2 years ago[emacs] Prefer emacs package manager to guix.
Jakub Czajka [Fri, 2 Jun 2023 16:41:17 +0000 (18:41 +0200)]
[emacs] Prefer emacs package manager to guix.

Emacs package versions are more up to date.

2 years ago[emacs] Switch from mpv to mplayer as the music backend.
Jakub Czajka [Wed, 24 May 2023 19:01:03 +0000 (21:01 +0200)]
[emacs] Switch from mpv to mplayer as the music backend.

mpv stopped working.

2 years agoUpdate copyright year.
Jakub Czajka [Wed, 3 May 2023 08:57:18 +0000 (10:57 +0200)]
Update copyright year.

2 years ago[home] Suspend the machine with `loginctl`.
Jakub Czajka [Sat, 4 Feb 2023 12:20:00 +0000 (13:20 +0100)]
[home] Suspend the machine with `loginctl`.

2 years ago[system] Lock the screen with `xsecurelock`.
Jakub Czajka [Sun, 29 Jan 2023 14:17:36 +0000 (15:17 +0100)]
[system] Lock the screen with `xsecurelock`.

`xsecurelock` must be added to `setuid-programs`. See documentation
for more information.

2 years ago[system] Use polish keyboard layout in Xorg.
Jakub Czajka [Tue, 3 Jan 2023 16:56:10 +0000 (17:56 +0100)]
[system] Use polish keyboard layout in Xorg.

2 years ago[home] Select emoji with dmenu.
Jakub Czajka [Mon, 26 Dec 2022 19:09:39 +0000 (20:09 +0100)]
[home] Select emoji with dmenu.

2 years ago[system] Install pulseaudio.
Jakub Czajka [Mon, 26 Dec 2022 17:33:55 +0000 (18:33 +0100)]
[system] Install pulseaudio.

2 years ago[home] Install flameshot.
Jakub Czajka [Mon, 26 Dec 2022 17:30:40 +0000 (18:30 +0100)]
[home] Install flameshot.

2 years ago[font] Use Meslo LG and Noto Color Emoji.
Jakub Czajka [Sat, 24 Dec 2022 12:38:46 +0000 (13:38 +0100)]
[font] Use Meslo LG and Noto Color Emoji.

2 years ago[st] Configure with Xresources.
Jakub Czajka [Sat, 24 Dec 2022 12:35:30 +0000 (13:35 +0100)]
[st] Configure with Xresources.

2 years ago[bash] Set st as the default terminal.
Jakub Czajka [Sat, 24 Dec 2022 12:34:41 +0000 (13:34 +0100)]
[bash] Set st as the default terminal.

2 years ago[system] Install custom versions of dwm and dmenu.
Jakub Czajka [Sat, 24 Dec 2022 12:33:33 +0000 (13:33 +0100)]
[system] Install custom versions of dwm and dmenu.

The source code is obtained from a self-hosted git instance.

2 years ago[common] Package the Meslo LG font.
Jakub Czajka [Sat, 24 Dec 2022 12:38:06 +0000 (13:38 +0100)]
[common] Package the Meslo LG font.

2 years ago[home] Install custom st.
Jakub Czajka [Sat, 24 Dec 2022 12:31:41 +0000 (13:31 +0100)]
[home] Install custom st.

This commit installs custom version of the st terminal. It includes
the libxft-bgra patche and more. The source code is obtained from a
self-hosted git instance.

2 years ago[system] Uninstall gnome.
Jakub Czajka [Sat, 24 Dec 2022 09:13:00 +0000 (10:13 +0100)]
[system] Uninstall gnome.

2 years ago[system] Enable bluetooth.
Jakub Czajka [Sat, 24 Dec 2022 09:08:53 +0000 (10:08 +0100)]
[system] Enable bluetooth.

This commit install bluez as the bluetooth daemon.

2 years ago[system] Encrypt DNS traffic.
Jakub Czajka [Sat, 24 Dec 2022 09:01:36 +0000 (10:01 +0100)]
[system] Encrypt DNS traffic.

Redirect DNS requests through `dnscrypt-proxy`, which encrypts the
traffic.

2 years ago[system] Package a script for controlling volume level.
Jakub Czajka [Fri, 23 Dec 2022 20:45:38 +0000 (21:45 +0100)]
[system] Package a script for controlling volume level.

2 years ago[home] Install a symlink manager.
Jakub Czajka [Fri, 23 Dec 2022 20:32:37 +0000 (21:32 +0100)]
[home] Install a symlink manager.

2 years ago[home] Simplify imports.
Jakub Czajka [Fri, 23 Dec 2022 20:15:28 +0000 (21:15 +0100)]
[home] Simplify imports.

2 years ago[common] Package libxft with the bgra patch.
Jakub Czajka [Fri, 23 Dec 2022 19:57:37 +0000 (20:57 +0100)]
[common] Package libxft with the bgra patch.

Libxft has a bug which crashes the library when displaying colorful
emojis. A patch is available online. This commit packages libxft with
the patch applied.

2 years ago[common] Install programs from local source code.
Jakub Czajka [Fri, 23 Dec 2022 19:47:12 +0000 (20:47 +0100)]
[common] Install programs from local source code.

Guix downloads programs and source code from the internet. However, if
we want to install custom versions of these programs, we need to
compile them manually from local source code. This commit adds helper
functions for working with such programs.

2 years ago[home] Change screen layouts with autorandr.
Jakub Czajka [Fri, 23 Dec 2022 19:43:09 +0000 (20:43 +0100)]
[home] Change screen layouts with autorandr.

2 years ago[home] Combine all desktop services.
Jakub Czajka [Fri, 23 Dec 2022 19:41:19 +0000 (20:41 +0100)]
[home] Combine all desktop services.

2 years ago[home] Run a compositor as a shepherd service.
Jakub Czajka [Fri, 23 Dec 2022 19:32:26 +0000 (20:32 +0100)]
[home] Run a compositor as a shepherd service.

2 years ago[home] Set the wallpaper using a shepherd service.
Jakub Czajka [Fri, 23 Dec 2022 19:30:29 +0000 (20:30 +0100)]
[home] Set the wallpaper using a shepherd service.

2 years ago[home] Represent the status bar as a package.
Jakub Czajka [Fri, 23 Dec 2022 19:27:18 +0000 (20:27 +0100)]
[home] Represent the status bar as a package.

This commit adds a script which generates the status bar. It also
wraps this script as a GNU Guix package.

2 years ago[home] Create a notification service.
Jakub Czajka [Fri, 23 Dec 2022 19:25:38 +0000 (20:25 +0100)]
[home] Create a notification service.

This commit configures dunst for displaying system notifications.

2 years ago[emacs] Install a git client.
Jakub Czajka [Fri, 23 Dec 2022 18:39:17 +0000 (19:39 +0100)]
[emacs] Install a git client.

This commit installs and configures magit, which is a git client for
emacs.

2 years ago[emacs] Install a RSS client (elfeed).
Jakub Czajka [Fri, 23 Dec 2022 18:37:10 +0000 (19:37 +0100)]
[emacs] Install a RSS client (elfeed).

2 years ago[emacs] Configure org-mode.
Jakub Czajka [Fri, 23 Dec 2022 18:30:29 +0000 (19:30 +0100)]
[emacs] Configure org-mode.

Org-mode is a built-in advanced mode for writing documents. This
commit configures org-mode. It also installs org-roam and org-agenda.

2 years ago[emacs] Configure a music player.
Jakub Czajka [Fri, 23 Dec 2022 18:18:55 +0000 (19:18 +0100)]
[emacs] Configure a music player.

This commit installs bongo as a music player with mpv as the backend.

2 years ago[emacs] Extend the default minibuffer.
Jakub Czajka [Fri, 23 Dec 2022 18:01:17 +0000 (19:01 +0100)]
[emacs] Extend the default minibuffer.

Minibuffer is a special window for selecting from a set of
values (e.g. a file to open). This commit extends the default emacs
minibuffer with orderless (narrowing the set of values) and
vertico (live preview of the set of values).

2 years ago[emacs] Enable spellchecker.
Jakub Czajka [Fri, 23 Dec 2022 17:49:25 +0000 (18:49 +0100)]
[emacs] Enable spellchecker.

This commit enables flyspell with aspell backend for spellchecking.

2 years ago[emacs] Simplify entering long keybindings.
Jakub Czajka [Fri, 23 Dec 2022 17:40:24 +0000 (18:40 +0100)]
[emacs] Simplify entering long keybindings.

Emacs has a lot of built-in keybindings and users can define
more. They can be long. This commit installs which-key and
transient which help when entering long keybindings.

2 years ago[emacs] Read and send email.
Jakub Czajka [Fri, 23 Dec 2022 17:19:42 +0000 (18:19 +0100)]
[emacs] Read and send email.

This commit installs and configures clients for sending (`sendmail`)
and receiving (`notmuch`) email.

2 years ago[emacs] Read documents within emacs.
Jakub Czajka [Fri, 23 Dec 2022 17:11:27 +0000 (18:11 +0100)]
[emacs] Read documents within emacs.

Emacs has built-in support for reading PDFs. However, pdf-tools is
better than the default PDF reader. This commit installs pdf-tools and
the necessary dependencies.

2 years ago[emacs] Customize dired.
Jakub Czajka [Fri, 23 Dec 2022 17:03:58 +0000 (18:03 +0100)]
[emacs] Customize dired.

Dired is the built-in file manager for emacs. For example, it can open
files with `xdg-open`.

2 years ago[emacs] Interface with password store.
Jakub Czajka [Fri, 23 Dec 2022 16:59:14 +0000 (17:59 +0100)]
[emacs] Interface with password store.

Password store is a password manager for GNU/Linux. This commit
configures an emacs interface for password-store.

2 years ago[emacs] Configure consult.
Jakub Czajka [Fri, 23 Dec 2022 16:41:28 +0000 (17:41 +0100)]
[emacs] Configure consult.

`completing-read` is the standard emacs function for reading
input. Consult extends `completing-read` based on the context in which
it runs.

2 years ago[emacs] Customize calender.
Jakub Czajka [Fri, 23 Dec 2022 16:38:05 +0000 (17:38 +0100)]
[emacs] Customize calender.

Caflw is an advanced calendar for emacs.

2 years ago[emacs] Edit multiple files at once.
Jakub Czajka [Fri, 23 Dec 2022 16:31:13 +0000 (17:31 +0100)]
[emacs] Edit multiple files at once.

Emacs can present views which aggregate multiple files. Editing these
views applies changes to the actual files (batch editing).

2 years ago[emacs] Configure the built-in eww web browser.
Jakub Czajka [Fri, 23 Dec 2022 16:20:44 +0000 (17:20 +0100)]
[emacs] Configure the built-in eww web browser.

2 years ago[emacs] Configure lisp mode.
Jakub Czajka [Fri, 23 Dec 2022 16:19:10 +0000 (17:19 +0100)]
[emacs] Configure lisp mode.

Elisp is the configuration language of emacs. This commit configures
lisp mode.

2 years ago[emacs] Configure vanilla emacs.
Jakub Czajka [Fri, 23 Dec 2022 16:13:45 +0000 (17:13 +0100)]
[emacs] Configure vanilla emacs.

This commit configures features present in vanilla emacs.

2 years ago[emacs] Structure working with packages.
Jakub Czajka [Thu, 22 Dec 2022 21:05:02 +0000 (22:05 +0100)]
[emacs] Structure working with packages.

Elisp code can be packaged and shared as a package. This commit
structures how emacs should work with packages. It installs
`use-package` which simplifies installation of other packages.

2 years ago[emacs] Define a group for custom variables.
Jakub Czajka [Thu, 22 Dec 2022 20:58:36 +0000 (21:58 +0100)]
[emacs] Define a group for custom variables.

Variables in emacs can be grouped which simplifies changing their
values. This commit creates a group for custom variables.

2 years ago[emacs] Customize theme.
Jakub Czajka [Thu, 22 Dec 2022 20:55:00 +0000 (21:55 +0100)]
[emacs] Customize theme.

Emacs themes consist of faces. Each face represents a specific element
of the interface. This commit defines a set of faces, forming a theme.

2 years ago[emacs] Define dotfile.
Jakub Czajka [Thu, 22 Dec 2022 20:51:57 +0000 (21:51 +0100)]
[emacs] Define dotfile.

This commit creates init.el, which is evaluated on startup.

2 years ago[emacs] Enable emacs daemon and wrap `emacsclient`.
Jakub Czajka [Thu, 22 Dec 2022 20:42:56 +0000 (21:42 +0100)]
[emacs] Enable emacs daemon and wrap `emacsclient`.

Emacs can be run locally as a daemon. `emacsclient` connects to it and
can open multiple windows during the same session.

2 years ago[home] Set emacs as the default editor.
Jakub Czajka [Thu, 22 Dec 2022 20:29:57 +0000 (21:29 +0100)]
[home] Set emacs as the default editor.

2 years ago[home] Install emacs.
Jakub Czajka [Thu, 22 Dec 2022 20:27:48 +0000 (21:27 +0100)]
[home] Install emacs.

2 years ago[home] Install xresources and symlink its dotfile.
Jakub Czajka [Thu, 22 Dec 2022 20:08:41 +0000 (21:08 +0100)]
[home] Install xresources and symlink its dotfile.

Xresources sets configuration parameters for many applications. This
commit installs Xresources and symlinks its dotfile.

2 years ago[home] Bind keys to functions.
Jakub Czajka [Thu, 22 Dec 2022 19:59:44 +0000 (20:59 +0100)]
[home] Bind keys to functions.

`xbindkeysrc` dotfile file is sourced inside `.bash_profile`.

2 years ago[home] Symlink profile.d files.
Jakub Czajka [Thu, 22 Dec 2022 19:52:13 +0000 (20:52 +0100)]
[home] Symlink profile.d files.

2 years ago[bash] Keep history in `${XDG_DATA_HOME}/bash/history`.
Jakub Czajka [Thu, 22 Dec 2022 19:47:43 +0000 (20:47 +0100)]
[bash] Keep history in `${XDG_DATA_HOME}/bash/history`.

2 years ago[bash] Specify default configuration files.
Jakub Czajka [Thu, 22 Dec 2022 19:35:52 +0000 (20:35 +0100)]
[bash] Specify default configuration files.

2 years ago[home] Resolve symlinks starting from `GUIX_PACKAGE_PATH`.
Jakub Czajka [Thu, 22 Dec 2022 19:14:58 +0000 (20:14 +0100)]
[home] Resolve symlinks starting from `GUIX_PACKAGE_PATH`.

Files to symlink are located inside `GUIX_PACKAGE_PATH`. Specifying
this variable every time is redundant. This commit hides the lookup.

2 years 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`.

2 years 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`.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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.

2 years 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

2 years 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.

2 years 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.

2 years 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.

2 years 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.