-
Notifications
You must be signed in to change notification settings - Fork 1
License
sgf-dma/sgf-xmonad-config
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Build dependencies (package names for Debian): 1. Tools: git, GNU make, stack (http://www.haskellstack.org), gcc, pkg-config. 2. Libraries: libgmp-dev, libx11-dev, libxrandr-dev, libxft-dev , libxinerama-dev . 3. xmobar is recompiled and installed (by stack) as part of this package. Thus, additional libraries: libxpm-dev, libiw-dev. Runtime dependencies: 1. `xmobar` is used as a panel. 2. `trayer` is used as a tray. 3. `feh` is used for settings desktop background (fallback to `xsetroot`, if not found). 4. `xterm` is used as default terminal. 5. `gmrun` is used as launcher. 6. `xdotool` for switching workspaces by mouse clicks on xmobar. Search path: 1. xmonad launch does not have any PATH requirments. 2. xmobar is first searched in stack local bin path (~/.local/bin), then in PATH. I.e. ~/.local/bin is hardcoded and effectively *prepended* to PATH. So, to use system's xmobar do not install xmobar by stack. The one way to do this is to mark xmobar as 'extra-dep' in `stack.yaml`: - location: extra-pkgs/xmobar extra-dep: true or, if you're on master branch: - location: git: https://github.com/jaor/xmobar.git commit: 2b165cafcef3ad7f510590fcdbb928ae742ce2f4 extra-dep: true (note, indentation of 'extra-dep' is the same as of 'location') Installation: 1. Install `stack`: http://docs.haskellstack.org/en/stable/README/#how-to-install 2. Install GNU `make`. 3.1. Install xmonad config: $ make install 3.2. Some step of xmonad restart procedure execve()-s "xmonad" with PATH search enabled. Thus, it should be available in PATH. There are three options to do this, either one will be enough: - Add directory, where xmonad is installed to PATH yourself. - Copy `default-xmonad` binary installed with this package to some directory in default search PATH and rename it to "xmonad" (e.g. /usr/local/bin/xmonad). - Install system's xmonad package. 4. Makefile tries to detect whether files about to install already exist and differ. And if so, it makes numbered backup of existing file (see `info coreutils`, "2.2 Backup options"). You may list existing backups: $ make list_backups and remove them one (oldest) level of each file at a time: $ make remove_backups you may also see, which files are installed: $ make list_installed_files if you don't want to create backups: $ make install backup_install= If you want to reinstall files, even if Makefile thinks, they're identical (this will create backups of existing files, even if they're identical, unless backups are turned off): $ make install force_install=1 5. There are separate targets for some components: - build_xmonad - only builds xmonad (this is the default target). - install_Xsession - only installs Xsession scripts. - install_xmonad - only builds and installs xmonad. - install_xmobar - only builds and installs xmobar. 6. xmonad may be build and installed with stack explicitly: $ stack build $ stack install but in that case other files (xmobar configs, Xsession files, symlinks) won't be installed. This may be used to recompile xmonad.hs after changes, though. 7. Any file (either in build/ directory or at its installation location) is a target, so to rebuild/reinstall particular file you may just specify its path as a target. Additiional directories: 1. `make` performs build in build/ subdirectory inside a project. 2. `stack` installs haskell compiler and all required packages from LTS Haskell snapshot in user's home directory: $ stack path --stack-root Other packages (extra deps) go into .stack-work directory inside a project: $ stack path --project-root 3. `stack` installs binaries in $ stack path --local-bin-path 4. xmonad directory `~/.xmonad` and user-defined xmonad config binary `~/.xmonad/xmonad-ARCH-OS` are made symlinks properly by `make install`. Removal: 1. To clean build: $ make clean or for stack only: $ stack clean 2. To remove: $ make remove 3. You may also want to remove stack user's directory: $ stack path --stack-root and stack local bin path directory: $ stack path --local-bin-path and some other directories may still be left: ~/.Xsession.d ~/bin
About
No description, website, or topics provided.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published