Browse Source

Meta: Add exclude paths and system directories to README.org

master
Riyyi 3 years ago
parent
commit
dbf444ae48
  1. 97
      README.org

97
README.org

@ -10,43 +10,61 @@ Config file and package tracking utility.
- Store a list of all installed packages. - Store a list of all installed packages.
- Install packages from a stored list. - Install packages from a stored list.
** Installation ** Getting started
This package is available through the AUR, linked here [[https://aur.archlinux.org/packages/manafiles-git/][manafiles-git]]. *** Installation
** Building If you are using *Arch Linux*, you can install the AUR package [[https://aur.archlinux.org/packages/manafiles-git/][manafiles-git]].
*** Build requirements Alternatively, you will have to [[#building][build from source]].
- ~gcc-libs~ *** Configuration
- (make) ~cmake~
- (make) ~git~
- (make) ~gzip~
- (make) ~nlohmann-json~ [[https://archlinux.org/packages/community/any/nlohmann-json/][arch]], [[https://packages.debian.org/search?keywords=nlohmann-json][debian]], [[https://packages.ubuntu.com/search?keywords=nlohmann-json][ubuntu]]
- (optional) ~grep~
- (optional) ~pacman~ + ~pacman-contrib~
- (optional) ~apt~ + ~dpkg~
The optional requirements are for the package tracking functionality. **** Install the example configuration
*** Build instructions During installation, manafiles will install the example config to: \\
~/usr/share/doc/manafiles/examples/manafiles.json~
#+BEGIN_SRC shell-script From there you can copy it to anywhere in the working directory,
$ mkdir build the config file is searched recursively. \\
$ cd build ~$HOME/<dotfiles>/<anywhere>~
$ cmake ..
$ make **** Exclude paths
Everything in this list will get excluded when pushing config files from the working directory to the system. \\
Currently three types of file matching are supported:
- ~file~ full name of the file matches
- ~directory~ full name of the directory matches
- ~endsWith~ end of the path matches
The excluded paths from the example config:
#+BEGIN_SRC javascript
"excludePaths" : {
".git": "directory",
".md": "endsWith",
"packages": "file",
"README.org": "endsWith",
"screenshot.png": "file"
}
#+END_SRC #+END_SRC
*** Build installation **** System config files
#+BEGIN_SRC shell-script Directories in this list will be pushed to the root ~/~ of the system, instead of ~$HOME~.
$ sudo make install
The system directories from the example config:
#+BEGIN_SRC javascript
"systemDirectories": [
"/boot",
"/etc",
"/usr/share"
]
#+END_SRC #+END_SRC
** Usage *** Usage
*** Selectively comment and uncomment **** Selectively comment and uncomment
Config files can be pushed from the working directory to the system like so: Config files can be pushed from the working directory to the system like so:
@ -71,5 +89,32 @@ If *all* of the given configurations match, manafiles will make sure that the
contents of the block are uncommented. If *any* of them do *not* match, then contents of the block are uncommented. If *any* of them do *not* match, then
manafiles will make sure that the contents of the block are commented. manafiles will make sure that the contents of the block are commented.
*** COMMENT System config files ** Building
*** COMMENT Exclude paths
*** Build dependencies
- ~gcc-libs~
- (make) ~cmake~
- (make) ~git~
- (make) ~gzip~
- (make) ~nlohmann-json~ [[https://archlinux.org/packages/community/any/nlohmann-json/][arch]], [[https://packages.debian.org/search?keywords=nlohmann-json][debian]], [[https://packages.ubuntu.com/search?keywords=nlohmann-json][ubuntu]]
- (optional) ~grep~
- (optional) ~pacman~ + ~pacman-contrib~
- (optional) ~apt~ + ~dpkg~
The optional requirements are for the package tracking functionality.
*** Build compilation
#+BEGIN_SRC shell-script
$ mkdir build
$ cd build
$ cmake ..
$ make
#+END_SRC
*** Build installation
#+BEGIN_SRC shell-script
$ sudo make install
#+END_SRC

Loading…
Cancel
Save