dotfiles_actions/lib.rs
1// Copyright (c) 2021-2022 Miguel Barreto and others
2//
3// Permission is hereby granted, free of charge, to any person obtaining
4// a copy of this software and associated documentation files (the
5// "Software"), to deal in the Software without restriction, including
6// without limitation the rights to use, copy, modify, merge, publish,
7// distribute, sublicense, and/or sell copies of the Software, and to
8// permit persons to whom the Software is furnished to do so, subject to
9// the following conditions:
10//
11// The above copyright notice and this permission notice shall be
12// included in all copies or substantial portions of the Software.
13//
14// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
22#![warn(missing_docs)]
23#![deny(rustdoc::broken_intra_doc_links)]
24#![feature(io_error_more)]
25#![feature(slice_concat_trait)]
26
27//! This crate contains all concrete [actions](dotfiles_core::action::Action)
28//! and [directives](dotfiles_core::directive::Directive). They are contained in
29//! each of the modules in this crate:
30//!
31//! - [brew]: A set of actions and directive that act as wrappers around [homebrew](http://brew.sh).
32//! - [create]: Creates a new directory
33//! - [exec]: runs a command in the shell
34//! - [homebrew_install]: installs [homebrew](http://brew.sh).
35//! - [link]: Creates a symlink to a file or directory
36//! - [ohmyzsh_install]: installs ohmyzsh
37#[cfg(target_os = "linux")]
38pub mod apt;
39#[cfg(any(target_os = "linux", target_os = "macos"))]
40pub mod brew;
41pub mod create;
42pub mod exec;
43pub mod filesystem;
44#[cfg(any(target_os = "linux", target_os = "macos"))]
45pub mod homebrew_install;
46pub mod install_command;
47#[cfg(unix)]
48pub mod link;
49#[cfg(unix)]
50pub mod ohmyzsh_install;