propellor-5.17: property-based host configuration management in haskell
Safe HaskellSafe-Inferred




data HostMirror Source #


HostMirror Url 


Instances details
Show HostMirror Source # 
Instance details

Defined in Propellor.Property.Apt

Eq HostMirror Source # 
Instance details

Defined in Propellor.Property.Apt

data HostAptProxy Source #


HostAptProxy Url 


Instances details
Show HostAptProxy Source # 
Instance details

Defined in Propellor.Property.Apt

Eq HostAptProxy Source # 
Instance details

Defined in Propellor.Property.Apt

mirror :: Url -> Property (HasInfo + UnixLike) Source #

Indicate host's preferred apt mirror

securityUpdates :: SourcesGenerator Source #

Only available for Stable suites, not for Testing or Unstable.

stdSourcesList :: Property Debian Source #

Makes sources.list have a standard content using the Debian mirror CDN (or other host specified using the mirror property), with the Debian suite configured by the os.

stdSourcesList' :: DebianSuite -> [SourcesGenerator] -> Property Debian Source #

Adds additional sources.list generators.

Note that if a Property needs to enable an apt source, it's better to do so via a separate file in /etc/apt/sources.list.d/

suiteAvailablePinned :: DebianSuite -> PinPriority -> RevertableProperty Debian Debian Source #

Adds an apt source for a suite, and pins that suite to a given pin value (see apt_preferences(5)). Revert to drop the source and unpin the suite.

If the requested suite is the host's OS suite, the suite is pinned, but no source is added. That apt source should already be available, or you can use a property like stdSourcesList.

update :: Property DebianLike Source #

Have apt update its lists of packages, but without upgrading anything.

upgrade :: Property DebianLike Source #

Have apt upgrade packages, adding new packages and removing old as necessary. Often used in combination with the update property.

safeUpgrade :: Property DebianLike Source #

Have apt upgrade packages, but never add new packages or remove old packages. Not suitable for upgrading acrocess major versions of the distribution.

pendingConfigured :: Property DebianLike Source #

Have dpkg try to configure any packages that are not fully configured.

installedMin :: [Package] -> Property DebianLike Source #

Minimal install of package, without recommends.

backportInstalled :: [Package] -> Property Debian Source #

Install packages from the stable-backports suite.

If installing the backport requires installing versions of a package's dependencies from stable-backports too, you will need to include those dependencies in the list of packages passed to this function.

backportInstalledMin :: [Package] -> Property Debian Source #

Minimal install from the stable-backports suite, without recommends.

buildDepIn :: FilePath -> Property DebianLike Source #

Installs the build deps for the source package unpacked in the specifed directory, with a dummy package also installed so that autoRemove won't remove them.

type AptPackagePref = String Source #

The name of a package, a glob to match the names of packages, or a regexp surrounded by slashes to match the names of packages. See apt_preferences(5), "Regular expressions and glob(7) syntax"

pinnedTo :: [AptPackagePref] -> [(DebianSuite, PinPriority)] -> RevertableProperty Debian Debian Source #

Pins a list of packages, package wildcards and/or regular expressions to a list of suites and corresponding pin priorities (see apt_preferences(5)). Revert to unpin.

Each package, package wildcard or regular expression will be pinned to all of the specified suites.

Note that this will have no effect unless there is an apt source for each of the suites. One way to add an apt source is suiteAvailablePinned.

For example, to obtain Emacs Lisp addon packages not present in your release of Debian from testing, falling back to sid if they're not available in testing, you could use

& Apt.suiteAvailablePinned Testing (-10)
& Apt.suiteAvailablePinned Unstable (-10)
& ["elpa-*"] `Apt.pinnedTo` [(Testing, 100), (Unstable, 50)]

robustly :: Property DebianLike -> Property DebianLike Source #

Package installation may fail becuse the archive has changed. Run an update in that case and retry.

data InstallStatus Source #




Instances details
Show InstallStatus Source # 
Instance details

Defined in Propellor.Property.Apt

Eq InstallStatus Source # 
Instance details

Defined in Propellor.Property.Apt

unattendedUpgrades :: RevertableProperty DebianLike DebianLike Source #

Enables unattended upgrades. Revert to disable.

periodicUpdates :: Property DebianLike Source #

Enable periodic updates (but not upgrades), including download of packages.

reConfigure :: Package -> [(DebconfTemplate, DebconfTemplateType, DebconfTemplateValue)] -> Property DebianLike Source #

Preseeds debconf values and reconfigures the package so it takes effect.

serviceInstalledRunning :: Package -> Property DebianLike Source #

Ensures that a service is installed and running.

Assumes that there is a 1:1 mapping between service names and apt package names.

data AptKey Source #




cacheCleaned :: Property DebianLike Source #

Cleans apt's cache of downloaded packages to avoid using up disk space.

hasForeignArch :: String -> Property DebianLike Source #

Add a foreign architecture to dpkg and apt.

noPDiffs :: Property DebianLike Source #

Disable the use of PDiffs for machines with high-bandwidth connections.

proxy :: Url -> Property (HasInfo + DebianLike) Source #

Set apt's proxy

useLocalCacher :: Property (HasInfo + DebianLike) Source #

Cause apt to proxy downloads via an apt cacher on localhost